[[20150226204028]] 『全てのシートの同じ列から一覧を作りたい』(kyouko) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『全てのシートの同じ列から一覧を作りたい』(kyouko)

よろしくお願いします。

 シートが100前後あるブックがあります。
 1ブックずつ、それぞれに入力されている内容から一覧を作成したいのです。
 それぞれのシートには、同じ書式の表が1表ずつ入っています。
 その表のB列(B3〜B30)にはコード、C列(C3〜C30)には得意先名が入っています。
 ブックの全てのコードと得意先をブック内のシートに(新しく作ってもいい)
 縦にズラ〜とコピーして一覧を作りたいのですが
 マクロで可能でしょうか?
 尚、可能であれば
 1.空欄がありますが、B・C共に空欄であれば無視(一覧から外す)
   してくれると嬉しいですが、できなければ、空欄のままでいい
 2.B・Cどちらかが空欄の場合は一覧に入れてもらいたい
 をお願いできれば嬉しいのですが…
 よろしくお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 各シートの他に "まとめ"という名前のシートをつくってください。

 Sub Test()
    Const SHN As String = "まとめ"              '★まとめシート名
    Dim n As Long
    Dim sh As Worksheet
    Dim v As Variant
    Dim i As Long
    Dim c As Range

    n = Worksheets.Count - 1        'まとめシート以外のシート数
    ReDim v(1 To n * 30, 1 To 2)    'まとめ用配列

    For Each sh In Worksheets
        If sh.Name <> SHN Then
            For Each c In sh.Range("B3:B30")
                If WorksheetFunction.CountBlank(c.Resize(, 2)) < 2 Then
                    i = i + 1
                    v(i, 1) = c.Value
                    v(i, 2) = c.Offset(, 1).Value
                End If
            Next
        End If
    Next

    With Sheets(SHN)
        .Cells.ClearContents
        .Range("B3").Resize(UBound(v, 1), 2).Value = v
        .Select
    End With

 End Sub

(β) 2015/02/26(木) 21:31


β様
 すごい!
 秒殺ですね!
 全て思い通りに整理できました。
 早速明日職場でデータ整理できます。
 ありがとうございました。
(kyouko) 2015/02/26(木) 21:38

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.