复制/粘贴区域大小不一样

我一直收到一个错误,我没有得到这个VBA代码:

ActiveSheet.Select Range("A1:H100").Select Selection.AutoFilter ActiveSheet.Range("$A$1:$H$100").AutoFilter Field:=1, Criteria1:="<>" Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone SkipBlanks _ :=False, Transpose:=False ActiveSheet.Copy fileSaveName = Application.GetSaveAsFilename( _ fileFilter:="Text Files (*.txt), *.txt") If fileSaveName <> False Then ActiveWorkbook.SaveAs Filename:=fileSaveName, FileFormat:=xlText, CreateBackup:=False MsgBox "File salvato al percorso " & fileSaveName & "." End If ActiveSheet.Range("$A$1:$H$100").AutoFilter Field:=1 

告诉我复制/粘贴区域不一样。 我想要做的是过滤结果,复制它们并粘贴在一个新的工作簿,保存为.txt和未经过滤的原始工作簿。

感谢你的协助!

小号

发生错误的原因是复制的单元格不能粘贴到选定区域,因为复制大小和粘贴大小不同。 只要尝试select一个不同的位置,在粘贴之前可能是第二张表格的单元格1,1,它将起作用。 尝试和工作在我的结尾。

你可以尝试这样的事情…

 Dim dwb As Workbook ActiveSheet.AutoFilterMode = False With Range("A1:H100") .AutoFilter field:=1, Criteria1:="<>" If Range("A1:A100").SpecialCells(xlCellTypeVisible).Cells.Count > 1 Then Set dwb = Workbooks.Add .SpecialCells(xlCellTypeVisible).Copy dwb.Sheets(1).Range("A1").PasteSpecial xlPasteValues End If .AutoFilter field:=1 End With