• 締切済み

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

エクセルでのデーター集計 A1 ~A10には新宿 A11~A20には渋谷 A21~A30には池袋 などの地域名がこの後にも続き B1~Z1などには人口や男や女などの項目がある ファイルがあります。 この集計表ファイルを他のファイルの ・A列が新宿なら→新宿のシート ・A列が渋谷なら→渋谷のシート ・A列が池袋なら→池袋のシート (B列~Z列に入っている数値も一緒に) にコーピーできるようにしたいんですが できますか? よろしくお願いします。

みんなの回答

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.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

  • masa_019
  • ベストアンサー率61% (121/197)
回答No.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

関連するQ&A