- 締切済み
【Excel VBA】ユーザーフォームについて
Excel2003を使用しています。 Sheet1のある範囲のデータをSheet2に(アクティブセルに)コピーするというマクロを作成しました。 データをコピーする際、範囲中のいくつかのセル(2~3箇所ですが)のデータを書き換えて、コピーするときもあるため、変更箇所がある場合は入力モード等の関係もあるので、ユーザーフォームを使って、書き換えるようにしました。 コピー元の範囲を変えただけの同じようなマクロが複数あるのですが、テキストボックスやコンボボックスに入力されたデータをシートへ転記する際のセルの位置が変わるだけなので、ひとつのユーザーフォームを使いまわしというと変ですが、そのようなことはできないのかなと思い、質問させていただきました。 -------------------------------------------------------------- Private Sub CommandButton1_Click() Range("F371").Value = TextBox1.Text Range("N371").Value = ComboBox1.Text Unload Me End Sub 上記コードは、ユーザーフォームのコードの一部ですが、 Range("F371").Value = TextBox.1Text ↓ Range("F397").Value = TextBox.1Text のように、転記先のセルだけ変わればいいので、そのために、同じユーザーフォームをいくつも作るのも…と思った次第です。使いまわしのようなことはできなければ、コピーして作成しようと思っています。 うまく文章に表すことができなくて申し訳ないのですが、よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- okormazd
- ベストアンサー率50% (1224/2412)
いずれにしろ転記先を選ばなければならないので、転記先がいくつかに決まっているのであれば、リストボックスに転記先をいれておいてそれを選んでコピーさせたらいかがですか。
- n-jun
- ベストアンサー率33% (959/2873)
試した事ないのであれですけど、転記先と転記元が決まっているのなら リストボックス・コンボボックス等で選択した値を入れるのはだめ?
お礼
アドバイスありがとうございます。 転記先と転記元は決まってはいないのですが、ある程度の規則性はあるので、そのへんのことも含めて、もう少し考えてみます。 ありがとうございました。
お礼
アドバイスありがとうございます。 >いずれにしろ転記先を選ばなければならないので、転記先がいくつかに決まっているのであれば 転記先はある程度の規則性はありますが、おっしゃるとおり、いずれにしろ選ばなければならないので、やはり使いまわしのようなことは難しそうですね。 ありがとうございました。