|
▼初心 さん:
このメッセージが出るということは wsInvoiceシートの21行目から下に
結合セルがあるということです。
よく調べてみてください。
なお、処理後、F列をクリアしているということは、次回処理する際には
1 がたっていないわけですから、必ず 1 をつけてから操作する必要がありますね。
まぁ、それはともあれ、アップされたコードでやろうとしていることを継承して
コード記述をかえてみました。参考までに。
(それでも、結合セルがあれば、これもエラーになります)
★印のところは実際のシート名にしてください。
Sub Sample()
Dim wsData As Worksheet
Dim wsInvoice As Worksheet
Set wsData = Sheets("Sheet1") '★
Set wsInvoice = Sheets("Sheet2") '★
wsInvoice.Range("A1", wsInvoice.UsedRange).Columns("A:H").Offset(20).ClearContents
wsData.AutoFilterMode = False '念のためいったんリセット
wsData.Range("A1").CurrentRegion.AutoFilter Field:=6, Criteria1:="1"
wsData.AutoFilter.Range.Copy wsInvoice.Range("A21")
On Error Resume Next
wsData.ShowAllData
On Error GoTo 0
wsData.AutoFilter.Range.Columns("F").Offset(1).ClearContents
wsInvoice.Select
End Sub
|
|