• ベストアンサー

ユーザーフォームに入力値を活用する方法

エクセルのマクロについて質問です。 (1)ユーザーフォームのテキストボックスに数字入力 (2)「アクティブセル」から「アクティブセルの列数+(入力した数字-1)」の列までのセルに背景色を付ける というようなマクロを作りたいです。 ユーザーフォームは設置できたのですがテキストボックスに入力した数字をセル選択に関連付ける方法がよくわかりません。 詳しい方がいらっしゃいましたらご教授いただければありがたいです。 例:アクティブセルが「G6」でテキストボックスには「3」と 入力した場合には G6、H6、I6の背景に色が付く

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

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

Sub test() Dim i, rng_r, rng_c As Integer i = 3 'textboxの値を入れる rng_r = ActiveCell.Row rng_c = ActiveCell.Column Range(Cells(rng_r, rng_c), Cells(rng_r, rng_c + i)).Interior.ColorIndex = 3 End Sub 基本はこんな所でしょうか

noname#76509
質問者

お礼

ありがとうございます。できました!

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

基礎的なことを習得できてなくて、他人に聞くという質問だ。 必要な知識は何が要るか考えましたか。 それは (1)ユーザーフォームのテキストボックスの値(文字列であることは知ってますかー>数値化) (2)テキストボックスの値を取るキッカケは (3)アクチブセルのセル番地の行、列を取得するコードでの表現 (4)づらしたセル番地のコードでの表現 (5)(3)から(4)の範囲のコードでの表現 が必要でしょう。 (2)などフォームを使うものの常識。Clickイベント (1)はUserForm1.TextBox1.Text これも常識。 数値化はVal() (3)はActivecel.row,ActiveCell.Column (4)Range(cells(・・),Cells(・・)) ^---- フォームにコマンドボタンを貼り付け セルのパターンを黄色にする例 Private Sub CommandButton1_Click() MsgBox UserForm1.TextBox1.Text cc = Val(UserForm1.TextBox1.Text) r = ActiveCell.Row c = ActiveCell.Column Range(Cells(r, c), Cells(r, c + cc - 1)).Interior.ColorIndex = 6 End Sub

noname#76509
質問者

お礼

ありがとうございます。前提知識もない状態の私にもわかりやすくご説明いただきありがとうございました。助かりました。

関連するQ&A