こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

エクセルでマクロの組み方

エクセルでのデーター集計
A1 ~A10には新宿
A11~A20には渋谷
A21~A30には池袋
などの地域名がこの後にも続き
B1~Z1などには人口や男や女などの項目がある
ファイルがあります。

この集計表ファイルを他のファイルの
・A列が新宿なら→新宿のシート
・A列が渋谷なら→渋谷のシート
・A列が池袋なら→池袋のシート
(B列~Z列に入っている数値も一緒に)
にコーピーできるようにしたいんですが
できますか?
よろしくお願いします。

投稿日時 - 2006-04-12 22:02:14

QNo.2088231

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

集計用シートを”集計”とします。
Sub 配布_proc()

Dim C As Integer
Dim dst_idx As Integer
Dim sname As String

src_idx = 1
With Sheets("集計")
While .Cells(src_idx, 1).Value <> ""
'シート名を記録
sname = .Cells(src_idx, 1).Value
'コピー先空白行サーチ
dst_idx = 1
While Sheets(sname).Cells(dst_idx, 1).Value <> ""
dst_idx = dst_idx + 1
Wend
'コピー元B-Z列コピー
.Range(.Cells(src_idx, 2), .Cells(src_idx, 26)).Copy
'コピー先空白行へペースト
Sheets(sname).Cells(dst_idx, 1).PasteSpecial Paste:=xlValues
src_idx = src_idx + 1
Wend
End With

End Sub

投稿日時 - 2006-04-12 22:43:02

ANo.1

>・・・コーピーできるようにしたいんですが
>できますか?

多分、出来ると思います。
あなたのファイルでこのまま使えるかどうかは
わかりませんが、だいたいこんな感じになると思います。
参考程度にどうぞ。

Sub test()
Dim rng As Range
For Each rng In Sheets("Sheet1").Columns(1).Cells
If rng.Value = "" Then Exit For
rng.Resize(1, 26).Copy _
Workbooks("Book1.xls").Sheets(rng.Value).Range("A65536").End(xlUp).Offset(1)
Next
End Sub

投稿日時 - 2006-04-12 22:38:23

あなたにオススメの質問