マクロ記録でVBA
セルに文字を入れる

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

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


前回の復習、ちゃんとやりましたか(笑)


もう一度だけ書きます、これでお終いです、覚えて下さい。


・マクロの記録

2003なら、「ツール」→「マクロ」→「新しいマクロの記録」

2007以降、「開発」→「マクロの記録」

・マクロの実行

2003なら、「ツール」→「マクロ」→「マクロ」

2007以降、「開発」→「マクロ」

ショートカットは、Alt+F8です。

・マクロの内容・・・VBE(Visual Basic Editor)起動

2003なら、「ツール」→「マクロ」→「Visual Basic Editor」

2007以降、「開発」→「Visual Basic」

ショートカットはAlt+F11です。

・コードの表示

「表示」→「コード」

ショートカットはF7

または、ダブルクリック



では、前回作成したマクロの中身をみてみましょう。


Sub Macro1()
'
' Macro1 Macro
'

'
  ActiveCell.FormulaR1C1 = "マクロの記録で覚えるVBA"
  ActiveCell.Characters(5, 2).PhoneticCharacters = "キロク"
  ActiveCell.Characters(8, 1).PhoneticCharacters = "オボ"  

  Range("A2").Select
End Sub

あっ前回、私はコピペしたので、読みの部分は抜けていました。

Sub Macro1()
・・・

End Sub

これが、マクロの1かたまり、つまり1つのマクロになります。

Subって何?・・・その疑問もっともです。

これ、サブプロシージャー(Sub Procedure)って言います。

直訳すると、「副手順」かなー(笑)

そんな事は、気にしなくていいです。

とにかく、これで1つのマクロになるってことです。

Macro1がこのマクロの名前です。


先頭の「'」

気になりますねー。

これは、コメントです。

「'」より後ろは、コメントとして、VBAとしての実行には影響がありません。

行の途中からでも、「'」の後ろはコメントになります。

マクロ作成した時に、覚書で「'」の後に書いておくと、後で見た時に助かります。

マクロの記録で作成されたコメントは、

Macro1というMacroですってことですね、意味無いね(笑)


ActiveCell.FormulaR1C1 = "マクロの記録で覚えるVBA"
さーて、この辺から問題ですね。

まず、「.」は、「の」と考えましょう。

つまり、

ActiveCellのFormulaR1C1

ってことですね。


そして、「=」は、左辺と右辺を「イコール」にするって事です。

つまりは、右辺を左辺に入れるということです。

ですから、「=」は、「←」と考えましょう。


そうすると、結局は、

ActiveCellのFormulaR1C1 ← "マクロの記録で覚えるVBA"

ということです、つまり、

ActiveCellのFormulaR1C1に"マクロの記録で覚えるVBA"を入れる。

になります。

やったー、どうです、解っちゃったかな。

えっ、ActiveCellFormulaR1C1って何かって・・・

今から説明します。


ActiveCell

直訳すれば、「アクティブセル」ですね。

えっ訳して無い・・・アクティブはアクティブだし、セルはセルとしか・・・

いや、だって、マジに訳したら、「活動的な細胞」・・・余計に解んないでしょ。

まあ、選択されているセルです。

セルをクリックすると、四辺が太くなりますよね、そうなっているセルの事です。


FormulaR1C1

直訳すれば、「式R1C1」・・・直訳は止めましょう、余計に混乱するから。

このR1C1については、計算式を入れる時に説明します。

今は、無視しておきましょう。


ActiveCell.Characters(5, 2).PhoneticCharacters = "キロク"
ActiveCell.Characters(8, 1).PhoneticCharacters = "オボ"

この2行は、完全に無視しましょう。

エクセルでは、漢字の読みをデータとして持っているので、

それが記録されたものです。

これを使うのは、もっとVBAを覚えてからにしましょう。


Range("A2").Select
レンジは半分日本語になってますよね、範囲みたいな感じかな。

A2は、A列2行目のセルです、そして、その範囲と言う事になります。

この場合は、範囲といっても、1つのセルだけですけどね。

上で、「.」は、「の」と考えましょう、と言いましたが、

この場合は、「.」は、「を」と考えます。

つまり、

Range("A2")をSelect
ですから、A2セルを選択するってことです。

そして、このSelectで、そのセルがアクティブになります。

つまり、この後は、

ActiveCellは、セルA2になります。



「.」が、「の」なのか「を」なのかの違い

「.」の後ろが動詞で、その後ろには何もない場合は「を」です。

「.」の後ろが名詞や形容詞で、その後ろに「=」がある場合は、「の」になります。

つまり、

○○○.△△△は、○○○を△△△する

○○○.△△△ = □□□は、○○○の△△△に□□□を入れる

ってことです、理解できましたか。

まあ、やってるうちに覚えてしまいます。



今回のマクロで解った事は、


セルに文字を入れる場合は、


Range("列行").Select

ActiveCellとFormulaR1C1 = "入れたい文字列"


で良いと言う事ですね。


では、Macro1()の中身を直してみましょう。




Sub Macro1()

  Range("A3").Select
  ActiveCell.FormulaR1C1 = "マクロを書いたぞ!"

End Sub

先頭が、「'」のコメント行は消しました。


上のように直して、マクロを実行してみましょう。


エクセルに戻るには、「表示」→「Microsoft Excel」、ショートカットは、Alt+F11


Excel VBA 解説


まあ、Windowsのタスクバーで移動した方が解り易いかもしれません。


戻ったら、マクロの実行をして下さい。


マクロの実行は、一番最初に記載しましたので大丈夫ですね。


はい、これで、セルA3に、「マクロを書いたぞ!」と表示されました。



マクロの実行の別のやり方


エクセルに戻って、マクロの実行をしましたが、


マクロを書いて、その場で直ぐに実行する事が出来ます。


Excel VBA 解説


「実行」→「Sub/ユーザーフォームの実行」、ショートカットはF5です。


ただし、Sub~End Subの間のどこかを、入力カーソル(縦棒)がなければいけません。

または、「表示」→「ツールバー」→「標準」


でツールバーを表示して、


Excel VBA 解説

この中の、Excel VBA 解説 になります。


まあ、F5が一番早いので、F5で慣れると良いでしょう。



とりあえず、文字を入れる事はできました。


でも、たかが文字をいれるだけで、2行も3行も書く必要があるのって思いませんか。


だって、それなら、マクロなんか使わずに、手作業の方が早いですからね。


ということで、次回は、もっと簡単に文字を入れる方法を紹介します。


「.」が、「の」なのか「を」なのかの違い

「.」の後ろが名詞や形容詞で、その後ろに「=」がある場合は、「の」になります。

「.」の後ろが動詞で、その後ろには何もない場合は「を」です。

つまり、

○○○.△△△は、○○○を△△△する

○○○.△△△ = □□□は、○○○の△△△に□□□を入れる


とりあえず今回は、これだけ覚えましょう!





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

マクロの記録で覚えるVBA
第1回.マクロを記録して実行
第2回.セルに文字を入れる
第3回.複数セルに文字を入れる
第4回.連続数値を入れる
第5回.100マスに数値を入れる
第6回.別のシートにコピーする
第7回.別のシートにコピーする2
第8回.計算式を入れる
第9回.計算式をコピーする
第10回.計算結果を入れる


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

ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
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)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.ひらがな⇔カタカナの変換|エクセル基本操作
5.繰り返し処理(For Next)|VBA入門
6.変数宣言のDimとデータ型|VBA入門
7.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
8.並べ替え(Sort)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.Findメソッド(Find,FindNext,FindPrevious)|VBA入門




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


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


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