- ベストアンサー
ユーザーフォームに入力値を活用する方法
エクセルのマクロについて質問です。 (1)ユーザーフォームのテキストボックスに数字入力 (2)「アクティブセル」から「アクティブセルの列数+(入力した数字-1)」の列までのセルに背景色を付ける というようなマクロを作りたいです。 ユーザーフォームは設置できたのですがテキストボックスに入力した数字をセル選択に関連付ける方法がよくわかりません。 詳しい方がいらっしゃいましたらご教授いただければありがたいです。 例:アクティブセルが「G6」でテキストボックスには「3」と 入力した場合には G6、H6、I6の背景に色が付く
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
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 基本はこんな所でしょうか
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
基礎的なことを習得できてなくて、他人に聞くという質問だ。 必要な知識は何が要るか考えましたか。 それは (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
お礼
ありがとうございます。前提知識もない状態の私にもわかりやすくご説明いただきありがとうございました。助かりました。
お礼
ありがとうございます。できました!