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

現在のカーソルがある行の特定の列に値を書き込むマクロの書き方を教えてください。以下は20行めのA列、B列にa, b を書き込むものですが、最初のRange("A20").Selectをカレント行に設定するコードを書けばいいのでしょうか?具体的な記述を教えてください。よろしくお願いします。

Sub Macro4()
Range("A20").Select
ActiveCell.FormulaR1C1 = "a"
Range("B20").Select
ActiveCell.FormulaR1C1 = "b"
Range("C20").Select
End Sub

A 回答 (6件)

以下のように色んな方法があります。


 

Sub Macro4()
Cells(ActiveCell.Row, 1).Value = "a"
Cells(ActiveCell.Row, 2).Value = "b"
End Sub

Sub Macro5()
Cells(ActiveCell.Row, "A").Value = "a"
Cells(ActiveCell.Row, "B").Value = "b"
End Sub

Sub Macro6()
Cells(ActiveCell.Row, "A").Value = "a"
Cells(ActiveCell.Row, "A").Offset(, 1).Value = "b"
End Sub

Sub Macro7()
Range("A" & ActiveCell.Row).Value = "a"
Range("B" & ActiveCell.Row).Value = "b"
End Sub

Sub Macro8()
Range("A" & ActiveCell.Row).Value = "a"
Range("A" & ActiveCell.Row).Offset(, 1).Value = "b"
End Sub


尚、それぞれのValueは削除可能ですが付けておいた方がベターです。
 
 
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
勉強になりました。感謝です。

お礼日時:2004/12/10 22:36

Range や Cells で、最初から記入位置をしてしても構いません。



Sub Macro4()
Range("A20").FormulaR1C1 = "a"
Range("B20").FormulaR1C1 = "b"
Cells(20, 3).FormulaR1C1 = "c"
End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
固定の内容をカーソルを置いた位置に書き込みたい
のでActiveなrowを知る必要があります。

お礼日時:2004/12/10 22:35

シートのコードに


Private Sub CommandButton1_Click()
a = ActiveCell.Row
Cells(a, 3).Value = "a"
Cells(a, 4).Value = "b"
End Sub
でコマンドボタンを押せばアクティブなセルのC列にa,B列にbがはいります。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

お礼日時:2004/12/10 22:32

シートのコードに


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
a = ActiveCell.Row
Cells(a, 3).Value = "a"
Cells(a, 4).Value = "b"
End Sub
でアクティブになったセルのC列にa,B列にbがはいります。
    • good
    • 0
この回答へのお礼

ていねいな回答をありがとうございます。

お礼日時:2004/12/10 22:32

Sub Macro4()


Range("A" & ActiveCell.Row).Value="a"
Range("B" & ActiveCell.Row).Value="b"
End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
さっそく試してみて、うまくいきました。
シンプルな書き方で分かりやすいですね。

お礼日時:2004/12/10 22:31

現在の行は(カーソルのある行) ActiveCell.Row


で求まります
Sub aaa()
row1 = ActiveCell.Row '現在の行を求める
Cells(row1, 1) = "aaa" 'A 列にいれる
Cells(row1, 2) = "bbb" 'B 列にいれる
Cells(row1, 3) = "ccc" 'C 列にいれる
End Sub
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
さっそく試してみて、うまくいきました。

お礼日時:2004/12/10 22:29

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