- ベストアンサー
Excelでマクロでセンセーショナルな選択式入力を実現する方法
- 会社で、毎月リストを作成するのに誰かExcelに詳しい人が作ったファイルをフォーマットとしてずっと使っているのですが、同じようなファイルを新規で作って欲しいと先輩から頼まれました。
- 先輩から、ドロップダウンがだらだら長くなるのがイヤなので、今使っているファイルのような感じの選択式にして欲しいと言われました。
- ど素人がとんでもない質問をしている自覚はありますが、先輩命令では逆らえず、とっても困ってます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
シートは、リスト 店名 品名 の三シートが有るものとします。 標準モジュール Option Explicit Public myRange As Range リストシート シートモジュール Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True Set myRange = Target Select Case Target.Column Case Is = 1 'A列 Sheets("品名").Activate Case Is = 3 'C列 Sheets("店名").Activate Case Is = 5 'E列 Case Else Set myRange = Nothing End Select End Sub 品名シート シートモジュール Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If myRange Is Nothing Then Exit Sub If Target.Value = "" Then Exit Sub Cancel = True myRange.Value = Target.Value Sheets("リスト").Activate Set myRange = Nothing End Sub 店名シート シートモジュール Option Explicit Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If myRange Is Nothing Then Exit Sub If Target.Value = "" Then Exit Sub Cancel = True myRange.Value = Target.Value Sheets("リスト").Activate Set myRange = Nothing End Sub
その他の回答 (1)
- MackyNo1
- ベストアンサー率53% (1521/2850)
>ファイルを見た感じとしては、どこを探しても記録されたマクロは見当たらず、ひょっとしたらあまりいろいろいじられないように、マクロを非表示にしてあるようなのかしらと思うのですが、そもそもこういう選択式にしてあるファイルを他で見たことがないので、マクロを使っているかどうかも実はよく判っていません。 ご質問内容はダブルクリックで作動するイベントマクロで対応しているように見えます(「マクロ」からは表示されません)。 そのシートのシート名を右クリックして「コードの表示」をしてみてください。 >ど素人がとんでもない質問をしている自覚はありますが、先輩命令では逆らえず、とっても困ってます。 先輩が希望するようなブックを作成するには、少なくともVBAの基本部分が理解できていないと作成できないと思うので、もし期限がある仕事なら正直に現状を話されて、時間の余裕もらうように対応をされたほうが良いと思います。 また、サンプルコードを提示してほしいなら、ご質問の際に具体的なシートのレイアウトを提示して、わからない部分をポイントを絞って質問されたほうが良いと思います。
お礼
具体的な対応方法をありがとうございます。 どういう機能で作ってあるかもよくわかっていなかったので、とても助かりました。 早速コードの表示を試してみます。
お礼
詳しく教えていただいて、ありがとうございます。 こんなに詳しく教えていただいて、大変お手数をおかけしてしまったと申し訳ないですが、やりたかったことができそうな気がしてきました。 早速試してみます。