マクロ記録で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 ・・・新着記事一覧を見る

ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)
VBAでクリップボードへ文字列を送信・取得する3つの方法|VBA技術解説(2023-12-07)
難しい数式とは何か?|エクセル雑感(2023-12-07)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.並べ替え(Sort)|VBA入門
8.条件分岐(IF)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門




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


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



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