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行も書く必要があるのって思いませんか。


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


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


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

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

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

つまり、

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

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


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







  • >
  • >
  • >
  • セルに文字を入れる

  • この記事がお役に立ちましたら「いいね」「Bookmark」をお願いいたします。


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


    ★新着記事★ ・・・ 新着記事一覧を見る
    フォルダー・ファイル(ブック)・シートの文字制限|ExcelマクロVBA技術解説(12月8日)
    ハイパーリンクからファイルのフルパスを取得する|ExcelマクロVBAサンプル集(12月4日)
    Excel2003(xls)を2007以降(xlsx,xlsm)に変換する(HasVBProject)|ExcelマクロVBAサンプル集(12月3日)
    シートに数式を設定する時のセル参照の指定方法|ExcelマクロVBA技術解説(11月21日)
    プログラミングの基本〜ロジックの組み立て|ExcelマクロVBA技術解説(11月18日)
    数式内の不要なシート名を削除する(HasFormula)|ExcelマクロVBAサンプル集(11月14日)
    ユーザー操作を制限する(Locked,Protect,ScrollArea)|ExcelマクロVBA技術解説(11月5日)
    Rangeオブジェクト.Valueの省略について|ExcelマクロVBA技術解説(11月5日)


    ★アクセスランキング★ ・・・ ランキング一覧を見る
    1.CSVの読み込み方法|ExcelマクロVBAサンプル集
    2.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|ExcelマクロVBA技術解説
    3.セルの参照範囲を可変にする(OFFSET,COUNTA,MATCH)|エクセル関数超技
    4.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
    5.最終行の取得(End,Rows.Count)|ExcelマクロVBA入門
    6.ひらがな⇔カタカナの変換|エクセル基本操作
    7.CSVの出力(書き出し)方法|ExcelマクロVBAサンプル集
    8.ピボットテーブル(PivotTable)|ExcelマクロVBA入門
    9.複数条件で検索し、複数データを取得する方法|エクセル関数超技
    10.ハイパーリンクを絶対パスで保存する方法|エクセル基本操作



    当サイトには多くのエクセル関数、エクセルVBA情報があります。
    問題が解決しなかったときは他の記事も検索してみてください。 ▲「セルに文字を入れる」のトップへ戻る