人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

VBAについて質問です。

値 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について初心者な為、大変お手数をおかけしますが、そのような際のコードを書いていただける方おりませんでしょうか?

よろしくお願いいたします。

●質問者: aiomock
●カテゴリ:コンピュータ インターネット
✍キーワード:A1 VBA コード セル データ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●100ポイント ベストアンサー

こんなんでいいですかね。

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
◎質問者からの返答

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


2 ● Mook
●35ポイント

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

ご参考まで。

◎質問者からの返答

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ