実現したいこと
VBAで複数シートの情報を一つのシートに集約しようとしています。
この際、収集を除外するシートも設けています。
発生している問題・分からないこと
ただ収集が不規則であり、時には一番右端のシートのみ抽出します。
各シートのセルに結合箇所などはなく、
いろいろ調べてみましたがどうしても原因がわかりません。
該当のソースコード
On Error Resume Next Dim sh1, sh2 As Worksheet Dim dicT As Object Dim i, n,R1, R2 As Long Set sh1 = Worksheets("A") For Each s In ThisWorkbook.Worksheets R1 = sh1.Cells(sh1.Rows.Count, "A").End(xlUp).Row R2 = s.Cells(s.Rows.Count, "B").End(xlUp).Row n = R1 + 1 For i = 2 To R2 If s.Name <> "A" And s.Name <> "B" And s.Cells(i, "B") <> "" Then sh1.Cells(n, "B") = s.Cells(i, "A") n = n + 1 End If Next Next
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
For each ではなくシートをカウントするコードに書き換えましたが現象は変わりませんでした。
補足
特になし
> 収集が不規則であり
とはどいうい意味でしょう? 具体的にどのようなことが置きているの説明いただけますか?
回答はここではなく、質問を編集して追記などするといいと思います。
ご返信ありがとうございます。
言葉足らずですみません。
やりたいことはシートAのA列にそのほか複数シートB列の情報をすべて抽出することです。
この際、シートAはもちろんシートBも収集対象から除外し、かつ収集先のB列の空欄も除外し、シートAのA列に玉突きで抽出したいのですが、この際、なぜか収集してくれるシートとそうでないシート、また抽出してくれる情報にムラがあるのです。具体的にはシートCは抽出してもシートDは抽出しない、B列の1行は抽出しても2行目は抽出しない。
ここはコメントを書くところなので、ここではなく、質問を編集して内容を変更したほうが多くの人に見てもらえますよ。(最初に書いたとおり)
ありがとうございます。
抽出先のシートに問題がある可能性があるので一度そこを確認しようと思います。

回答2件
あなたの回答
tips
プレビュー