プロが教えるわが家の防犯対策術!

指定した行に、ある一文を入力するマクロを作りたいです。

たとえば、10行目に「いつもありがとうございます」
と入れたい場合、『マクロの記録』はどの様に行えばいいですか?

カーソルを合わせたところに「いつもありがとうございます」を出すマクロはマクロの記録で作れたのですが、
行を指定したものの作り方がわかりません。

質問者からの補足コメント

  • 超のつく初心者です。
    手順を教えてください。

      補足日時:2021/07/15 14:45
  • 開発→マクロの記録→行いたい操作の手順をする→記録終了のなかの『行いたい操作の手順』で、行を指定できますか?

      補足日時:2021/07/15 14:53

A 回答 (5件)

10行にいれるなら、記録前に10行以外選択して置いてからマクロ記録して10行選択すれば良いのでは?

    • good
    • 1

こんにちは


先ず、このマクロと言うのはExcelでしょうか?それともWordですか?
Excelの場合、すでに回答されているように
行と列で構成されていますので入力位置を指定する場合
行、列、又はアクティブ(入力可能になっている)セルを指定する必要があります。
自動記録の場合、動作を記録して行きますので、
選択時 記録できるのは、
~.Select や ~.Activate
設定や入力時は
Selection.~ や ActiveCell.FormulaR1C1 =
などになると思います。

行を選択した場合でも入力可能セルは1つになりますので
例えば1行目の場合、
Rows("1:1").Select
ActiveCell.FormulaR1C1 = "いつもありがとうございます"
となり、A1セルに入力されます。


ご質問の内容からするとWordなのかなと思います。
Wordの場合、記録マクロでは
Selection.TypeText Text:= "文字列" のように記録されてしまうと思います。
記録マクロで行指定が出来るか、残念ながら私は分かりませんが、
VBAで指定する事は可能です。

アクティブなドキュメントの10行目を選択します
ActiveDocument.GoTo(What:=wdGoToLine, Count:=10).Select

ドキュメントに10行未満の行しかない場合は最終行が選択されます。
直接入力する事も出来ます
ActiveDocument.GoTo(What:=wdGoToLine, Count:=10) = "いつもありがとうございます"

しかしこの場合、行の文頭に入力されてしまい、すでに文字列がある場合は
改行を入れる必要があるかも知れません。
ActiveDocument.GoTo(What:=wdGoToLine, Count:=10) = "いつもありがとうございます" & vbCr
など
記録される Selection.TypeText Text:= を使う場合
Sub Sample()
ActiveDocument.GoTo(What:=wdGoToLine, Count:=10).Select
Selection.TypeText Text:="いつもありがとうございます" & vbCr
End Sub

10行未満の場合、最終行文頭に入力され改行されるので
結果、最終行1つ手前の行に入力される形になります。。
    • good
    • 0

マクロの自動記録は『特定のセル』に入れる方法が得られると思いますよ。


で、何をされたいのかは不明ですが『指定した行に』とはどういった意味での質問でしょう?
指定したセルであれば既に回答は出てますし、カーソルでどの列を選択したとしても決まった行に入れたいと言うなら、

Cells(決まっている行番号, selection.column).Value = "いつも~"

ですかね。
    • good
    • 0

すいません、はじめの回答よけいな6が入ってました。

    • good
    • 0

cells(10,1)6="いつも…"



とか
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!