• ベストアンサー

エクセルのマクロを教えてください。

いつもお世話になっております。 SH1・SH2・SH3・SH4の4枚のシートからなるエクセルファイルがあります。 SH1において、コンボボックスを設け、 リンクするセルをA1として、 VLOOKUP関数と組み合わせて B1にSH2以下のシート名を返す仕組みを作りました。 やりたいことは以下のことです。 コンボボックスにマクロを仕掛け、 コンボボックスで選んだシート名に応じて、  そのシートのA1:B10のデータを SH1のC1:D10に貼り付ける。 ※たとえばSH3を選んだらSH3!A1:B10を コピーして、SH!C1:D10に貼り付ける。 (クリップボードを使用しなくても構いません) よろしくお願いいたします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.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 になります。

oresama
質問者

お礼

ありがとうございました。 無事解決しました。

関連するQ&A