- ベストアンサー
オートフィルマクロで変数を使用してパラメータを指定する方法
- EXCEL2007で、オートフィルマクロを作成し、変数を使ってテキストボックスに入力された値をオートフィルのパラメータに指定する方法について教えてください。
- 例えば、テキストボックスに「10」と入力された場合、A1からA10までオートフィルするマクロを作成したいです。
- 初心者ですので、詳しい説明をお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! 外していたらごめんなさい。 テキストボックスに仮に10と入れ、マクロを実行するとA1セルをA10セルまでオートフィル、 テキストボックスが20であればA1セルをA20セルまでオートフィル! という解釈で良いのですかね? もしそうであれば一例です。 Dim a As Integer a = TextBox.Value Range("A1").Select Selection.AutoFill Destination:=Range("A1:A" & a) こんなんではどうでしょうか? 的外れならごめんなさいね。m(_ _)m
その他の回答 (3)
- keithin
- ベストアンサー率66% (5278/7941)
ん? そういう意味ですか。 では >オートフィル とは,具体的にどういう操作を考えたのですか。 ご質問で掲示されているのは単に「A1を10個コピーする」ですが,それなら private sub commandbutton1_click() worksheets("シート名").range("A1").resize(me.textbox1, 1).filldown end sub といった具合です エクセルの操作としての「オートフィル」なら private sub commandbutton1_click() worksheets("シート名").range("A1").resize(me.textbox1, 1).dataSeries type:=xlautofill end sub といった具合になります。 A1セルにたとえば「A1」などのように記入してあった時の結果が違いますが,具体的にどういう使い方を考えているのかに応じて,適切なマクロを選んで使ってください。
お礼
説明不足ですいませんでした。 説明では範囲内に同じ10の値を入力する作業のみえますが、求めていたのは下記でご説明くださった、10、11,12 のようになるプログラムです。 無事できました。ありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
大げさに、オートフィルといわなくても良いのでは。 A1:A10に同じ値を入れるなら Sub test01() Range("A1:A10") = 10 End Sub この10をTextBox1.Valueで代替して使えば良い。 Range("A1:A10") = TextBox1.Value こんなことのためにテキストボックスを持ち出す必要あるのかな。InputBoxで十分では。 ーー それともれんぞくデータの作成のことか。 操作をしてマクロの記録を採れば仕舞い。 ーー 前記だってA1:A10を範囲指定。数式バー部に10と入れてCTRLを押しながら、ENTERでマクロの記録が採れる。 VBAをやるといってもエクセルのことを知らないとだめ。 初心者なら、まずマクロの記録を活用を考えること。
- keithin
- ベストアンサー率66% (5278/7941)
worksheets("シート名").range("A1:A10").value = me.textbox1.value などのように。
お礼
ありがとうございました。 まさに求めていた記述です。 思ったような結果がえられました。