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

解決済みの質問

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

エクセルのマクロについて質問です。


(1)ユーザーフォームのテキストボックスに数字入力
(2)「アクティブセル」から「アクティブセルの列数+(入力した数字-1)」の列までのセルに背景色を付ける

というようなマクロを作りたいです。
ユーザーフォームは設置できたのですがテキストボックスに入力した数字をセル選択に関連付ける方法がよくわかりません。

詳しい方がいらっしゃいましたらご教授いただければありがたいです。


例:アクティブセルが「G6」でテキストボックスには「3」と
入力した場合には
G6、H6、I6の背景に色が付く

投稿日時 - 2008-12-01 17:01:12

QNo.4521700

困ってます

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

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

基本はこんな所でしょうか

投稿日時 - 2008-12-01 20:47:25

お礼

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

投稿日時 - 2008-12-02 22:02:05

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

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

回答(2)

ANo.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

投稿日時 - 2008-12-01 20:58:01

お礼

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

投稿日時 - 2008-12-02 22:00:32

あなたにオススメの質問