VBAに詳しい方に質問です。
VBAに詳しい方に質問です。
私はVBA初心者です、お力添えのほどよろしくお願いいたします。
エクセルで入力し、それを一覧表に転記し、最終的に出力フォームにデータを呼び出し印刷するプログラムを作成しています。
1つの項目のデータを表に転記したり、呼び出すVBAはなんとか作成できました。
しかし、複数のセルのデータを表に転記するVBAが作ることができません。
☆シート1
入力フォームがあり、
氏名・電話番号・住所等の項目を100人ほど表で入力します。
それらをシート2へ転記します。
1 2 3 4…
1 日付 名前 年齢 電話番号
2 2010/07/01 石川花子 12才 090-××
3
4 ↓以下100名ほど入力
5 ※列も行も数値で表すように設定してあります。
・
・
・
☆シート2
これまでに入力したデータをすべて一覧表にします。
シート1のデータはこれまでに入力されたデータの下に転記されます。
1 2 3 4…
1 日付 名前 年齢 電話番号
902010/06/28 山田太郎 33才 090-××
912010/07/01 石川花子 12才 090-××
92 ↑このように日付欄に空白を見つけ、そこからデータを転記する。
93
・
・
・
私が考えたVBAは、
sub 転記マクロ()
set 入力 = worksheet("シート1")
set 一覧 = worksheet("シート2")
日付1=入力.cells(2,1)
名前1=入力.cells(2,2)
年齢1=入力.cells(2,3)
電話1=入力.cells(2,4)
日付2=入力.cells(3,1)
名前2=入力.cells(3,2)
年齢2=入力.cells(3,3)
電話2=入力.cells(3,4)
'以下○○100まで
※一覧.(縦,2)に縦+1をしていき""の場所を探す。
(すみません、データを会社に置いてきたので表記の仕方を忘れてしまいました^^;)
一覧.(縦,1)=日付1
一覧.(縦,2)=名前1
一覧.(縦,3)=年齢1
一覧.(縦,4)=電話1
一覧.(縦+1,1)=日付2
一覧.(縦+1,2)=名前2
一覧.(縦+1,3)=年齢2
一覧.(縦+1,4)=電話2
'以下+100まで
end sub
何も見ずに思い出しながら書いたので、もしかしたらどこか間違っているかもしれませんが、
このような感じで書いていきました。
さすがにこのようなことを100回繰り返すのは大変なので、for next関数でなんとかならないか試行錯誤したのですがなかなか解明できず困っています。
詳しい方、どうか教えてください。
お礼
ありがとうございます!! 早く回答してくれて、とてもうれしいです。