私はフィルタリングする必要があるいくつかの異なる固有の値を持つ列(B)を持っています。私は正常に別のワークブックでこれをやったが、私はそれがこの場合に動作するようになっている問題を抱えている、私は列にいくつかの空白があると思う。ブランクをダミーで埋めても、ランタイムエラー1004:「抽出範囲にフィールド名がないか無効です」という理由で、同じ場所(6行目)で破損します。このセクションのコードは次のとおりです。Excel VBA Autofilter新しい名前付きシートに貼り付けをコピー
Dim c As Range
Dim rng As Range
Dim LR As Long
LR = Cells(Rows.Count, "R").End(xlUp).Row
Set rng = Range("A1:BF" & LR)
Range("B1:B" & LR).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("BF1"), Unique:=True
For Each c In Range([BF2], Cells(Rows.Count, "BF").End(xlUp))
With rng
.AutoFilter
.AutoFilter Field:=2, Criteria1:=c.Value
.SpecialCells(xlCellTypeVisible).Copy
Sheets.Add(After:=Sheets(Sheets.Count)).Name = c.Value
ActiveSheet.Paste
End With
Next c
どのような問題を解決するには?参照のために、BFはデータの最後の列であり、行の数は日常的なレポートであるため可変です。
ありがとうございます!
を次のようにあなたが試みることができるあなたの 'CopyToRange'は、データ範囲と同じ見出しを持っていますか? – Dan
はい、私はそうだと思いますが、ここで何が起こっているのかははっきりしていません。それは毎回同じ場所でまだ壊れています。 – TwoHeartedKale