突然正しく実行されない問題がなく、1年半使用したVBAのコピー貼り付けループのコードがあります。その目的は、いくつかの一意の値を持つ特定の列を取り出し、それらのフィルターを一意の値の名前を持つ新しいシートにコピーしてコピーすることです。マクロを実行すると、エラーが発生しなくても実行されますが、実際に何かをコピーアンドペーストしたり、新しいシートを作成したりすることはできません。 1つのことは、一意の値をCO列にコピーすることですが、後続のループは何らかの理由で正しく機能しません。VBAコピー貼り付けループが正しく実行されない
私のコードや、これを毎日のダイナミックレンジで実行するレポートの書式設定に不注意な変更があったとは限りません。突然の
具体的には、コピーする値の範囲は動的な行数のA1:CNで、フィルタリングするユニークな値を持つ列はUです。なぜそれが機能しないのでしょうか?
Dim rng as Range
Dim c As Range
Dim LR As Long
LR = Cells(Rows.Count, "A").End(xlUp).Row
Set rng = Range("A1:CN" & LR)
Range("U1:U" & LR).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("CO1"), Unique:=True
For Each c In Range([CO2], Cells(Rows.Count, "CO").End(xlUp))
With rng
.AutoFilter
.AutoFilter Field:=21, Criteria1:=c.Value
.SpecialCells(xlCellTypeVisible).Copy
Sheets.Add(After:=Sheets(Sheets.Count)).Name = c.Value
ActiveSheet.Paste
End With
Next c
私はあなたはそれがアクティブシートになり、コードがデフォルトでそれに参照する新しいシートを追加するときのようにシートの参照を追加する必要があります初心者のためだと思います。 – SJR
どのExcelのバージョンを使用していますか? Excel 2010を使用してこの種の問題が発生しました。 –
FYI: '.SpecialCells(xlCellTypeVisible)'は必要ありません。 '.Copy'は可視行だけをコピーします。 –