こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

【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

のように、転記先のセルだけ変わればいいので、そのために、同じユーザーフォームをいくつも作るのも…と思った次第です。使いまわしのようなことはできなければ、コピーして作成しようと思っています。

うまく文章に表すことができなくて申し訳ないのですが、よろしくお願いします。

投稿日時 - 2008-02-21 17:18:23

QNo.3796718

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

いずれにしろ転記先を選ばなければならないので、転記先がいくつかに決まっているのであれば、リストボックスに転記先をいれておいてそれを選んでコピーさせたらいかがですか。

投稿日時 - 2008-02-21 17:36:24

お礼

アドバイスありがとうございます。

>いずれにしろ転記先を選ばなければならないので、転記先がいくつかに決まっているのであれば

転記先はある程度の規則性はありますが、おっしゃるとおり、いずれにしろ選ばなければならないので、やはり使いまわしのようなことは難しそうですね。

ありがとうございました。

投稿日時 - 2008-02-22 17:22:42

ANo.1

試した事ないのであれですけど、転記先と転記元が決まっているのなら
リストボックス・コンボボックス等で選択した値を入れるのはだめ?

投稿日時 - 2008-02-21 17:34:35

お礼

アドバイスありがとうございます。
転記先と転記元は決まってはいないのですが、ある程度の規則性はあるので、そのへんのことも含めて、もう少し考えてみます。
ありがとうございました。

投稿日時 - 2008-02-22 17:18:19

あなたにオススメの質問