エクセル(Excel) | エクセルマクロの記録で覚えるVBA | 第2回.セルに文字を入れる




第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解説


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


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


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


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



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


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


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


Excel解説


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


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

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


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


Excel解説

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


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



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


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


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


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


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

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

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

つまり、

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

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


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



トップ > エクセルExcel > マクロの記録でVBA > セルに文字を入れる

★同じテーマ「エクセルマクロの記録で覚えるVBA」の記事★
マクロの記録で覚えるVBA
第1回.マクロを記録して実行
第3回.複数セルに文字を入れる
第4回.連続数値を入れる
第5回.100マスに数値を入れる
第6回.別のシートにコピーする
第7回.別のシートにコピーする2

★ExcelマクロVBAセミナー中上級編開催!★
2日間のセミナーです。実務で使うExcelマクロVBAの全ての答えがここにあります!

★Excelセミナー・VBAセミナーのご案内!★
実務直結の実践型エクセルセミナー、エクセルマクロVBAセミナーです。
東京の銀座にて開催する、1日集中のセミナーです。
このサイトをご覧になってセミナー参加をお決めになられた方へは、
特別特典をお付けします。



★新着記事★ ・・・ 新着記事一覧を見る
VBAでのOutlook自動操作:ExcelマクロVBA技術解説(7月8日)
他のブックのマクロを実行(Runメソッド):ExcelマクロVBA入門(6月27日)
マクロをショートカットで起動(OnKeyメソッド):ExcelマクロVBA入門(6月27日)
ナンバーリンクを解くVBAのパフォーマンス改善3:ExcelマクロVBAサンプル集(5月28日)
ナンバーリンク(パズル)を解くVBAに挑戦8:ExcelマクロVBAサンプル集(5月23日)
練習問題29(ロット引き当て):ExcelマクロVBA練習問題(5月13日)
時間計算で困ったときの確実な対処方法:エクセル関数超技(5月6日)


★人気記事★
エクセル基本操作 | ひらがな⇔カタカナの変換
エクセル関数超技 | 徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)
エクセル関数超技 | セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)
エクセル関数超技 | グラフのデータ範囲を可変にする
エクセル関数超技 | 【奥義】大量データでの高速VLOOKUP
マクロVBA入門 | 第18回.最終行の取得(End,Rows,Count)
マクロVBA入門 | 第29回.セル・行・列の削除・挿入(Delete,Insert)
マクロVBA入門 | 第91回.条件付き書式(FormatCondition)
マクロVBA入門 | 第93回.ピボットテーブル(PivotTable)
マクロVBA入門 | 第98回.Findメソッド,FindNextメソッド(検索,次を検索)
VBAサンプル集 | CSVの読み込み方法
VBAサンプル集 | CSVの出力(書き出し)方法
VBAサンプル集 | WEBデータの取得方法
VBA技術解説 | エクセルVBAのパフォーマンス・処理速度に関するレポート
VBA技術解説 | Dictionary(ディクショナリー)の使い方について