我一直收到这个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和unfilter。
感谢您的帮助!
取值
答案 0 :(得分:1)
发生错误是因为复制的单元格无法粘贴到所选区域,因为复制大小和粘贴大小不同。只是尝试选择一个不同的位置,在粘贴之前可能是第二张单元格1,1,它会起作用。试过&amp;在我的最终工作。
答案 1 :(得分:0)
您可以尝试这样的事情......
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