- ベストアンサー
VBAでセルの値を11行おきに増やす方法
- VBAを使用してセルの値を最終行まで、11行おきに1ずつ増やす方法を教えてください。
- 現在のセルは1800行あり、手動でこの作業を続けることは大変です。
- 以下のVBAコードを使用することで、自動的にセルの値を増やすことができます。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
Private Sub CommandButton1_Click() Dim i as Integer For i = 1 to 1800 Step 11 Worksheets("○○○").Cells(i, 1).value = (i - 1) * 11 + 1 Next i End Sub
その他の回答 (4)
- bunjii
- ベストアンサー率43% (3589/8249)
繰り返しの手法で処理できます。 For i = 1 To 1800 Step 11 ' ここにセルへの代入式を書く Next i 代入の数式は以下のような方法で良いでしょう。 n = n + 1 ' n の初期値を 0 としたとき Cells(i, 1) = n 代案( A1セルへ予め 1 を代入しておいて i の初期値を 12 にします) Cells(i, 1) = Cells(i - 11, 1) + 1 ループには次のような Do ループもありますので好みの方法で対処してください。 Do While [条件式] [代入数式] Loop または Do Untile [条件式] [代入数式] Loop VBAの入門書で学習しながら順次覚える方法で良いと思います。
お礼
bunjii さん 早速の回答ありがとうございます。 勉強します。
VBAでも、subで定義すると値を返さないけど、function で値を返す関数を書いて、cellsでアドレス指定で・・・・って考えたけど。 イベントドリブンだよ。(って出来てないけど)
お礼
HohoPapa さん 早速の回答ありがとうございます。 勉強します。
- HohoPapa
- ベストアンサー率65% (455/693)
VBAによる解を期待しているだろうことから 期待と異なるものと思いますが別解を。 A1に1を埋め A12に2を埋め A1からA22を選択(ハイライト)し、 オートフィルの機能を使い フィルハンドルを下方向に必要数ドラッグします。
お礼
HohoPapa さん 早速の回答ありがとうございます。 勉強します。
- imogasi
- ベストアンサー率27% (4737/17069)
For NextのStepを勉強すること。 コマンドボタンなど使う前に勉強するべき。 自分が作って、実行して終わるようなものに、なぜコマンドボタンを使うのか。他の例の引き写しか? ーー セルを指定するVBAコードの、Cells(i,"A")のiに、順次に11を加えたセルを指定し、コードの前行のセルの値に+1したものを、代入すれば仕舞だろう。 VBAの本やVBAの指導者について、系統だった勉強をすること。
お礼
imogasi さん 早速の回答ありがとうございます。 Cells(i,"A")が解らなかったもので、勉強します。
お礼
nan93850673 さん お正月なのに 早速の回答ありがとうございました。 思い通りにできました。 また、困ったことがありましたら、よろしくお願いします。