マクロ記録でVBA
100マスに数値を入れる

Excelマクロの自動記録を使って、エクセルVBAの初心者向け入門解説
公開日:2013年5月以前 最終更新日:2013-02-18

第5回.100マスに数値を入れる


まずは、前回の宿題の回答です。


Sub Macro1()
  Dim i
  i = 1
  Do While i <= 10
   Cells(1, i) = i
   i = i + 1
  Loop
End Sub


縦に入れた時の、この部分を
Cells(i, 1) = i

Cells(1, i) = i
このように、行数と列数を入れ替えます。

これで横に1~10が入ります。



では次は、縦10、横10のセルに、1~100までを入れてみましょう。


こんな感じに入れます。


Excel VBA 解説

どうでしょうか、マクロを作成してみて下さい。

こんなプログラムになります。


Sub Macro1()
  Dim i
  Dim j
  Dim k
  i = 1
  k = 1
  Do While i <= 10
    j = 1
    Do While j <= 10
     Cells(i, j) = k
     k = k + 1
     j = j + 1
    Loop
    i = i + 1
  Loop
End Sub


急に長いプログラムになってしまった感じですが、順番に考えましょう。


iは、行数に使用します。

jは、列数に使用します。

kは入れる数値です。


そして、10行に入れるプログラムは、


i = 1
Do While i <= 10
  Cells(i, 1) = i
  i = i + 1
Loop

でした。

この1行に数値を入れる部分を10列に入れるようにすればよいのです。

i = 1
Do While i <= 10

  10列に入れる

  i = i + 1
Loop

つまり、

Cells(i, 1) = i

j = 1
Do While j <= 10
  Cells(i, j) = 連番

  j = j + 1
Loop

にするのです。

すると、

i = 1
Do While i <= 10
  j = 1
  Do While j <= 10
    Cells(i, j) = k
    j = j + 1
  Loop
  i = i + 1
Loop

となります。


後は、kを1ずつアップしていけば、最初のプログラムが出来上がります。



エクセルのシートは、縦横の2次元ですから、


上記のプログラムが作成出来れば、


シートの好きな位置に、好きな数値、好きな文字を入れる事が可能です。


前回も言いましたが、これが、VBAの基本であり、全てでもあります。


このプログラムを3分以内に作成出来れば、とりあえずは合格でしょう。


今回はこれだけにします。


これが十分に理解出来なければ、次に進む意味がありません。


もう一度言います。


これが基本です、腹の底に落としこんで下さい。


次回は、この100マスを、別のシートにコピーしてみましょう。


それが出来たら、縦横を入れ替えてコピーします。


ここが正念場です、ここを過ぎれば、VBAが楽しいものに変わります。





同じテーマ「マクロの記録でVBA」の記事

第2回.セルに文字を入れる

前回の復習、ちゃんとやりましたか(笑) もう一度だけ書きます、これでお終いです、覚えて下さい。では、前回作成したマクロの中身をみてみましょう。SubMacro1()''Macro1Macro' 'ActiveCell.FormulaR1C1= "マクロの記録で覚えるVBA"ActiveCell.Characters…
第3回.複数セルに文字を入れる
前回作成したマクロです。さて、おそらく誰でも思う事は、1行で書けないのかってことだと思います。書けます!Range("A3").Selectは、セルA3を選択し、アクティブにしています。そして、ActiveCell.… つまり、ここでのアクティブセルとは、A3になる訳です。
第4回.連続数値を入れる
さて、前回までで、セルに文字をいれることが出来ました。今回は、セルに連番を入れて見ましょう。行番号として、1、2、3、4…のように入れてみます。まず、準備として、以下をやって下さい。1.エクセルを起動する 2.VBE(VisualBasicEditor)を起動する 3.「ツール」→「オプション」「変数の宣言を強制す…
第5回.100マスに数値を入れる
第6回.別のシートにコピーする
前回作成した100マスを別のシートにコピーしてみましょう。ここでは、「Sheet1」に100マスがあり、それを「Sheet2」へコピーします。いまは、「Sheet1」が開いていて、セルA1がアクティブになっています。
第7回.別のシートにコピーする2
前回は、値の貼り付けを「マクロの記録」で行い、そのマクロを修正しました。以下になります。今回は、同じ事を「.COPY」を使わずにやってみましょう。そもそも、これは何をしているかと言うと、「.COPY」で、セルをクリップボードに入れ、クリップボードの値のみセルに入れています。
第8回.計算式を入れる
前回までは、セルに文字を入れました。エクセルは表計算ソフトですから、計算式を入れたいですよね。今回からは、計算式を入れる方法、その値をコピーする方法等の説明になります。では、以下のようなシートを作成して下さい。
第9回.計算式をコピーする
前回作成した100マス計算を、別シートにコピーしてみましょう。第6回、第7回の内容とほぼ同様になります。エクセルVBAでは、このシート間のデータコピーが最もよく行われる事の1つであり、VBAの基本でもあります。
第10回.計算結果を入れる
前回作成した100マス計算の回答部分を、マクロで計算して入れてみましょう。従って、マクロの記録は使いません。タイトルと違うね(笑)、でもね、マクロの記録では出来ない事が多いのです。だから、VBAを覚える必要があるのです。
第11回.イミディエイトで値の確認
前回、FormulaR1C1とValueの違いを説明しましたが、それを確認するための方法を紹介します。これはデバックで使用するツールになります。デバッグとは、プログラムの誤り(バグと呼ばれる)を探し、取り除くこと。
第12回.セルに色を塗る
今回はちょっと難しいことをします。100マス計算に手入力で回答を入れて、その結果の成否を判定してみましょう。100マスの計算結果を一旦全て消して下さい。手入力で、回答を入れて下さい。掛け算九九は大丈夫ですか(笑) 全部入れなくて良いです。


新着記事NEW ・・・新着記事一覧を見る

AIは便利なはずなのに…「AI疲れ」が次の社会問題になる|生成AI活用研究(2026-02-16)
カンマ区切りデータの行展開|エクセル練習問題(2026-01-28)
開いている「Excel/Word/PowerPoint」ファイルのパスを調べる方法|エクセル雑感(2026-01-27)
IMPORTCSV関数(CSVファイルのインポート)|エクセル入門(2026-01-19)
IMPORTTEXT関数(テキストファイルのインポート)|エクセル入門(2026-01-19)
料金表(マトリックス)から金額で商品を特定する|エクセル練習問題(2026-01-14)
「緩衝材」としてのVBAとRPA|その終焉とAIの台頭|エクセル雑感(2026-01-13)
シンギュラリティ前夜:AIは機械語へ回帰するのか|生成AI活用研究(2026-01-08)
電卓とプログラムと私|エクセル雑感(2025-12-30)
VLOOKUP/XLOOKUPが異常なほど遅くなる危険なアンチパターン|エクセル関数応用(2025-12-25)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.日本の祝日一覧|Excelリファレンス
3.変数宣言のDimとデータ型|VBA入門
4.FILTER関数(範囲をフィルター処理)|エクセル入門
5.RangeとCellsの使い方|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
8.マクロとは?VBAとは?VBAでできること|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.メッセージボックス(MsgBox関数)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
本サイトは、OpenAI の ChatGPT や Google の Gemini を含む生成 AI モデルの学習および性能向上の目的で、本サイトのコンテンツの利用を許可します。
This site permits the use of its content for the training and improvement of generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ