• ベストアンサー

プルダウンメニューの連続挿入

EXCEL2013を使用しています。 勤務表を作成するとき、 データを連続挿入するのですが、 「ALT」+「↓」で一覧を表示 →カーソルで選択 →ENTER →カーソルで隣のセルに移動 ・・・という手順を何十回も繰り返すのですが、 もう少し簡単にできる方法はありますでしょうか? できたら、カーソルを乗せたら、一覧が表示される 選択してEnterを押したら、次のセルに自動で移動する ALTを押さなくても、一覧が表示される ・・・などができたらとても助かります。  毎月の勤務表の作成が効率化できるので・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1636/2483)
回答No.5

> もう少し簡単な方法ではないでしょうか…? 残念ながらありません。この中で一番簡単な方法はNo4さんの方法になります。 シートの名前の入ったタブを右クリックして出るメニューの「コードの表示」を選択すると新しく画面が開きますので(添付画像のような画面です)そこの右側のOption Explicitと書かれているところの下にNo4さんの Private Sub Worksheet_SelectionChange(ByVal Target As Range) から End Sub までをコピーして貼り付けてください。 その後、新しく名前を付けて保存で ファイルの種類(T): Excelマクロ有効ブック(*.xlsm) にして保存してください。 次回起動時には セキュリティの警告 マクロが無効にされました が出るので コンテンツの有効化 を押してください。 ただ、「カーソルを乗せたら一覧が表示される」って実際やってみると意外と鬱陶しかったりすると思いますよ。

hu19901108
質問者

お礼

ありがとうございます

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • kkkkkm
  • ベストアンサー率65% (1636/2483)
回答No.6

> すいません、理解ができなくて…。 回答の文章だけを読んで頭の中で理解しようとせずに書かれている通りにエクセルで操作してみないとだめですよ。

hu19901108
質問者

お礼

確かにそうですね…。 みなさん貴重な時間を割いて、返答いただいているのに…。 マクロとか知識ないのですがやってみます。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 VBAのマクロは使用可能な状況でしょうか?  VBAのマクロを使っても良いのでしたら以下の様な方法となります。  まず、勤務表を作成しなければならないシートのシート名を確認して下さい。  次に、Excelのウィンドウの上の方にある[開発]タブをクリックし、現れた「コード」グループの中にある[Visual Basic]ボタンをクリックして下さい。  尚、もしも[開発]タブが表示されていない場合には、[Alt]キーを押しながら[F11]キーを押すか、 或いは下記のURLのページに記載されている方法に従って[開発]タブを表示させて下さい。 【参考URL】  でじまみ > Microsoft Office 関連 > 4 > 2013.02.25 Excel 2013 でマクロ編集など行う「開発タブ」を表示するには   http://plaza.rakuten.co.jp/mscrtf/diary/201302250000/  すると「Microsoft Visual Basic for Applications」のウィンドウが開きますので、そのウィンドウの左手にある「プロジェクト - VBAProject」欄の中に並んでいるシートモジュールの中から、( )内に表示されているシート名が、「入力規則のリストを自動表示させたいシート」のシート名と同じものを選んでダブルクリックして下さい。  次に、「Microsoft Visual Basic for Applications」ウィンドウの右手にある大きな空欄の中に以下の様なVBAの構文を入力して下さい。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim myValidation As Long On Error Resume Next myValidation = ActiveCell.Validation.Type On Error GoTo 0 If myValidation = xlValidateList Then SendKeys "%{Down}" End Sub  これで、「そのシート上にあるセルの中で、入力規則のドロップダウンリストが設定されているセル」を選択しただけでドロップダウンリストが表示される様になりますので、動作に問題が無い事を確認してからVBAの構文共々保存して下さい。(保存する際のExcelのファイル形式は「マクロ有効ブック」で、その拡張子は「.xlsm」になります)  尚、勤務表を作成するシートが定期的に変わるという場合や、勤務表を作成するExcelファイル内にVBAを組み込む事が躊躇われる場合などには、実際に会社に提出する勤務表のExcelファイルとは別個に勤務表の入力専用のExcelファイルを作成しておき、その入力専用のファイルに同じレイアウトの勤務表の雛型を作成してから、その表内のセルに入力規則のドロップダウンリストを設定した上で、その入力専用ファイルの勤務表の雛型があるシートの方に上記のVBAのマクロを設定し、その入力専用のファイル上の雛型の勤務表でデータ入力を行った後、雛型の勤務表をコピーして、提出用のExcelファイルの方に貼り付ける様にされると良いと思います。

hu19901108
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1636/2483)
回答No.3

No2の続きです。 表を2個作ると入力するところと表示されるところが離れてて入力しにくい場合、添付画像のように表を1個にしてしまう方法もあります。 元の表に黄色の部分の列を挿入して D3に =IFERROR(VLOOKUP(C3,$R$4:$S$7,2,FALSE),"") として 緑の部分にコピーします。 入力範囲の固定は黄色の部分だけロック解除で、あとは先ほどの説明と同じです。

hu19901108
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • kkkkkm
  • ベストアンサー率65% (1636/2483)
回答No.2

> できたら、カーソルを乗せたら、一覧が表示される これはできませんが最後の →カーソルで隣のセルに移動 を ENTERで隣のセルに移動 にすることはできます。オプションの詳細設定でENTERを押したらセルを移動する方向を右にすれば隣に移動するようになります。 また、入力範囲(添付画像だとC3からL7の範囲)の書式設定でロックを解除し校閲タブのシートの保護で「ロックされていないセル範囲の選択」だけチェックを入れて保護すると範囲内だけカーソルが移動するようになりますので、右の端から次の行に移るのもENTERでできるようになりますので、多少楽になります。 他の方法だとリスト選択をやめて数値を入力して該当の文字を表示させるという方法もあります。 添付画像(4列から9列までは省略してます)のように N列に数値を入れます。オレンジ色の部分。 Q列からは左の表と同じように10のところまでの表を作ります。 C3に =IFERROR(VLOOKUP(R3,$N$4:$O$7,2,FALSE),"") として右と下(C3からL7の範囲)にコピーします。 入力は右の表でします。黄色の部分。 O列の該当する文字のN列の数値を右の表に入力すると左の表に数値に対応した文字が表示されます。数値と対応する文字を覚えてしまうと作業がかなりはかどると思います。 また、入力範囲をシートの保護でR3からAA7までに固定するのもいいでしょう。

hu19901108
質問者

お礼

ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • k-josui
  • ベストアンサー率24% (3220/13025)
回答No.1

> 「ALT」+「↓」で一覧を表示→カーソルで選択→ENTER →カーソルで隣のセルに移動・・・という手順を何十回も繰り返すのですが マクロの記録で覚えさせて実行 http://weekly.ascii.jp/elem/000/000/348/348675/

hu19901108
質問者

お礼

ありがとうございます。

hu19901108
質問者

補足

あの・・・。皆様ありがとうございます。 申し訳ありませんが、 もう少し簡単な方法ではないでしょうか…? すいません、理解ができなくて…。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで見えない文字の挿入の仕方

    エクセルで見えない文字の挿入の仕方 エクセルのセルに 123456 と入力されてます。 3と4の間にカーソルを置いて 「Alt」+「Enter」を押すと 123456   ↓ 123 456 となります。 セルの書式設定の「配置」を見ると 「折り返して全体を表示する」にチェックが入っていました。 このチェックをはずしてみました。 セルの表示は 123 456  ↓ 123456 に戻りました。 ですがセルにカーソルを持っていくと上の方にセルの内容が表示されますが その表示を見ると 123 456 となっており、3と4で改行されています。 これにならって 3と4の間に 0x1D(GROUP SEPARATOR)とか0x1E(RECORD SEPARATOR)を挿入するにはどうすればいいでしょうか? よろしくお願いします。

  • EXCEL2007とEXCEL2000の違いについて

    EXCEL2000で勤務時間を集計する一覧表を作成し利用していました。 先日EXCEL2007でその一覧表を利用してみたところ、計算式の入ったセルが「#N/A」と表示されてしまいました。 詳細を以下に記述致しましたが、原因をご存知の方がいればご教示ください。 <EXCEL2000で作成した一覧表についての仕様等> (1)「データ>データの入力規則」で設定したドロップダウンリスト(同一Book内の同一Sheetから値を参照)から勤務開始時間、勤務終了時間を選択させる。 (2)(1)で選択した勤務終了時間を用いてLOOKUP関数を使い、同一Book内の別Sheetから値を参照し、勤務時間を割り出す。 <一覧表をEXCEL2007で利用した際の現象について> 上記「(2)」の段階で計算式セル(LOOKUP関数の入ったセル)に「#N/A」と表示される。 ※情報が足りない等不備がありましたらお申し付け下さい。。

  • VBでのカーソル移動

    こんばんは。 教えてください。 入力可能なセルが2個だけのエクセルの表があります。 C6には「年」、E6「日付」が入ります。 それ以外のセルに触ると「ここは入力できません」と 表示が出て、C6にカーソルが戻ります。 VBにて作成してあります。 ここで、追加で、 C6のセルに入力後、「enter」を押すとE6にカーソルが移動 E6のセルに入力後、「enter」を押すとC6にカーソルが移動 が出来るようにしたいのですが、どのように記入したらいいか 分かりません。 どなたか教えてください。

  • うまくいきません。(シートの連続挿入)

    業務にて、選択した範囲の名前のシートを作成し、 なおかつその内容は「マスタ」というシートをコピーする。というマクロを作ったのですが、うまくいきません。 名前のシートを作成するのみならばうまくいくのですが、内容をコピーしようとすると、逆順になり、空白のシートが挿入されます。 最終的には降順(名称にはNo.があります)になり、空白のシートが挿入されないようにしたいです どうしたらうまくいくのでしょうか? ==== Sub 連続シート作成() For Each 対象セル In Selection Sheets.Add After:=ActiveSheet Sheets("マスタ").Copy After:=Sheets("マスタ") ActiveSheet.Name = 対象セル.Value Next 対象セル End Sub

  • Excelで、Enterキーでセルの移動ができない

    Enterキーで下のセルに移動をすることができなくなり、 逆に、Altを押さなくてもセル内で改行がされるようになりました。 また、セルを選択しただけでは入力できず、 入力するためにはダブルクリックしなければならなくなりました。 これはこれで便利な時もありそうですが、やっぱり今はEnterでセル移動がしたいです… 特に設定を変えたつもりはないのですが、 元に戻す方法を教えてください。 Microsoft Excel 2003 を使っています。 宜しくお願いします。

  • Excel2000でピボットテーブルのデータが正しく挿入されない

    はじめまして。よろしくお願いします。 Excel2000で、ピボットテーブルを作成するときに、 項目をドラッグすると、セル一つ一つにデータが表示されず プルダウンメニューの様な形で表示されてしまいます。 Excel2003で同じ作業をすると、正常にセルひとつひとつにデータが挿入されるのですが、 どうすれば、Excel2000でもセル一つ一つにデータが挿入されるのでしょうか? 画像を添付しますので、ご存知の方がいらっしゃいましたらぜひ教えてください! セルにデータが入っている方がExcel2003で作成したもの、 セルにデータが入っていない方がExcel2000で作成したものです。 とてもこまっています。どうぞよろしくお願いいたします。

  • エクセルにてカーソルの移動がスクロールロックをはずしても矢印キーで次のセルにいかず困っています。。

    エクセルにて今までの作成したファイルは通常にカーソル移動するのですが、新規作成でエクセルを立ち上げて表を作成しようと思ったのですが、まず矢印でカーソルが動かず、一つのセルに文字を入力してEnterを押しても次のセルには移動せず、同じセル内で改行されてどんどんそのセルが大きくなっていってしまいます。他の質問で調べたのですが、 スクロールロックがかかっているのかと思い解除してみましたがそれでも直りません。。。ほんと初歩的なことで申し訳ありませんが 教えて下さい。。よろしくお願いいたします。

  • エクセル縦書きでのカーソル移動方向の変更

    Excel2002です 文字配置の方向を縦書きにして、Alt + Enterでセル内改行をすると カーソルが左に移動しますが、これを右に移動させる事は 出来ないでしょうか? 左から右に向かって文字を入力していきたいという事です 横方向の場合、Alt + Enterでセル内改行をすると下に改行するのを 上に改行したいということと同意になるのかもしれませんが・・・ 過去ログ他いろいろ検索したのですが、見つけられませんでした 現在、カット&ペーストで文字順をいれかえてます(^^ゞ

  • Excelの行挿入で

    Excelのシートにデータがつまっているのですが(これから新しく表を作るということではないということです。)、行の挿入をしたいのです。 このとき、行を選択して、右クリックで「挿入」を選べば挿入自体はできます。 しかし、 既にある表は、行が、A列とB列が結合されているのですが、 単に上記のように挿入すると、 A列B列が分かれている行が挿入されてしまいます。 新しく挿入された行のA列とB列を選択して、「セルの書式設定」の「配置」でセルを結合させてもいいのですが、 いちいちそうしなくても 挿入時点ですでに結合されているようにするにはどうすればよいですか。 (Excel2000)

  • Excel2007 で関数をプルダウンメニューから選ぶには

    Excel2007 を使用しています。 セルに =IS と入力すると、関数のプルダウンメニュー(ISBLANK、ISERROR、ISNUMBERなど)が現れ、カーソルキーの↑↓で選ぶことまではできますが、エンターキーで選択を確定すると、選んだ関数ではなく、セルの中身自体が =IS で確定してしまいます。 例えば関数 ISERROR を選ぶにはどうすれば良いですか? Excel2003 ではエンターを押したら関数を選べて引き続きセルの中身を入力できたように思うのですが、何か設定の問題でしょうか。 Microsoftのヘルプで、このプルダウンメニューを使いこなす方法を探す、方法すら探せません・・・。初歩的ですみませんが、マウスでプルダウンから選ぶのでなく、キーボードで確定させる方法を教えてください。

このQ&Aのポイント
  • Win11PCを使用中。サードパーティ製セキュリティーソフトESETを使用中。ノートン、カスペ、ノートン、ESETで落ち着きました。
  • 昨今はDefenderの性能も上がり、セキュリティーソフトは必要ないという方もいます。
  • Defenderだけでセキュリティーは申し分なく、サードパーティー製の有料セキュリティーソフトを使う意味はないのでしょうか?教えてください。
回答を見る

専門家に質問してみよう