マクロ講座8回その2

選択したセルに文字を入力するマクロ

その1からの続きです
まず、アクティブセルを変更するマクロを作りましょう。
(サンプルファイルは、こちらから マクロ講座8回サンプルデータ
(1)Macro1は、セルを選択するだけでしたので、もう1度マクロの記録を行いましょう。
今度は、セルを選択してそのセルに入力します。

選択したセルに文字を入力するマクロの記録

マクロの記録ボタン(赤い○)を押します。
マク□の記録を開始します。
(2)次に、C3セルを選択し、アクティブにします。
 セルに文字を入力します。
macroと入力して、エンターキーを押します。マク□の記録を終了します。
 「記録終了」の青い■ボタンをクリックします。
(3)それでは、マクロの中身を表示させてください。
 今度は、このショートカットキーをつかいましょう。
オルトキー + F8キー
オルトキーを押したまま、続けてF8キーも押します。
(4)[マクロ]ダイア□グボックスが表示されます。
  ここで、[マクロ名]のリストから表示させたいマクロを選択し、
  [編集]をクリックします。
(3)中身は、こんな具合です。
コメント部分は、削除して説明します。
Sub Macro2()
    Range("C3").Select
    ActiveCell.FormulaR1C1 = "macro"
    Range("C4").Select
End Sub
    

(4)セルに文字を入力したコード部分は

    ActiveCell.FormulaR1C1 = "macro"

 の部分です。

  意味は、
     アクティブセルに「macro」と入力する
  となります。

 FormulaR1C1は、現時点では、セルの内容と理解してください。
 
  Range("D3").Select の部分は、
  エンターキーを押して確定したので、アクティブセルが移動したのです。
  この部分は不要なので1行削除します。
スポンサーリンク
スポンサーリンク

(5)すこし、遊んでみましょう。
Sub Macro2()
    Range("C3:G13").Select
    ActiveCell.FormulaR1C1 = "★"
End Sub    
と、書き換えて、マクロを実行します。
Range("C3").Select →Range("C3:G13").Select  ですよ。

(6)どうなりましたか?

C3:G13を範囲として選択したのに、
入力されたのは、C3セルだけですね。

アクティブセルがC3にあるからです。
マクロの記録では、アクティブセルにしか入力できないのですが、
書き換えると、アクティブセル以外にも入力できてしまいます。
(7) そこで、

もう1回書き換えますよ。
ActiveCell.FormulaR1C1 = "★" の部分の、ActiveCell
Selectionに変えます。
Sub Macro2()
    Range("C3:G13").Select
    Selection.FormulaR1C1 = "★"
End Sub    
 (8)これでマクロを実行してみましょう。
 選択範囲全部に★が入力されました。


今日は、ここまでです。
お疲れ様でした。
スポンサーリンク
スポンサーリンク