- ベストアンサー
エクセルのマクロを教えてください。
いつもお世話になっております。 SH1・SH2・SH3・SH4の4枚のシートからなるエクセルファイルがあります。 SH1において、コンボボックスを設け、 リンクするセルをA1として、 VLOOKUP関数と組み合わせて B1にSH2以下のシート名を返す仕組みを作りました。 やりたいことは以下のことです。 コンボボックスにマクロを仕掛け、 コンボボックスで選んだシート名に応じて、 そのシートのA1:B10のデータを SH1のC1:D10に貼り付ける。 ※たとえばSH3を選んだらSH3!A1:B10を コピーして、SH!C1:D10に貼り付ける。 (クリップボードを使用しなくても構いません) よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ユーザフォーム上のコンボボックスで良いでしょうか? ユーザフォームにはコンボボックスとコマンドボタン(OK)があるとして、次のようなマクロになります。ただしシートがない場合のエラーチェックは省いています。 Private Sub CommandButton1_Click() Worksheets(ComboBox1.Value).Range("A1:A10").Copy Worksheets("SH1").Range("c1").Select ActiveSheet.Paste Application.CutCopyMode = False UserForm1.Hide End Sub もしシートに配置したコンボボックスの値が変更された時点で動かすなら Private Sub ComboBox1_Change() End Sub になります。
お礼
ありがとうございました。 無事解決しました。