値 A B C D の文字データ
を 変数 a b c d に入れて、保存したいと考えています。
変数aにはAの値が
変数bにはBの値が
変数cにはCの値が
変数dにはDの値が入っています。
保存先は 列D、列E、列F、列G です。
列Dに変数aの値を
列Eに変数bの値を
列Fに変数cの値を
列Gに変数dの値を保存したいと考えています。
その際ですが 列AのセルにA1から順に文字が入っているのですが、 列Aの文字が入っている行まで、変数に入っている値をずっと
列D、列E、列F、列G に保存したいと考えています。
VBAについて初心者な為、大変お手数をおかけしますが、そのような際のコードを書いていただける方おりませんでしょうか?
よろしくお願いいたします。
こんなんでいいですかね。
Sub Macro() Dim lastRow As Long Dim i As Long Dim a As String Dim b As String Dim c As String Dim d As String a = "A" b = "B" c = "C" d = "D" lastRow = Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To lastRow Cells(i, "D").Value = a Cells(i, "E").Value = b Cells(i, "F").Value = c Cells(i, "G").Value = d Next i End Sub
こんなんでいいですかね。
Sub Macro() Dim lastRow As Long Dim i As Long Dim a As String Dim b As String Dim c As String Dim d As String a = "A" b = "B" c = "C" d = "D" lastRow = Cells(Rows.Count, 1).End(xlUp).Row For i = 1 To lastRow Cells(i, "D").Value = a Cells(i, "E").Value = b Cells(i, "F").Value = c Cells(i, "G").Value = d Next i End Sub
ご回答ありがとうございます。
For 文を使ったり、行末を検出したり、配列を使ったり、いろいろ工夫できる点はありますが、
今回はLoop を使用して、説明通りのステップで処理してみました。
Sub ex() Dim a, b, c, d a = "A" b = "B" c = "C" d = "D" Dim r As Long r = 1 ' 1行目から Do While Cells(r, "A").Value <> "" ' A列にデータがある間は実行 Cells(r, "D").Value = a Cells(r, "E").Value = b Cells(r, "F").Value = c Cells(r, "G").Value = d r = r + 1 Loop End Sub
もし VBA をきちんと理解しようとされているなら、わからないことを聞く前に
一度ご自身で調べてみてから質問することをお勧めします。
全体を総括的に説明しているサイトです。
http://www.asahi-net.or.jp/~ef2o-inue/top01.html
ご参考まで。
ご回答ありがとうございます。
ご回答ありがとうございます。