【发布时间】:2022-01-06 18:55:57
【问题描述】:
我想将我的一张 Excel 工作表上的特定范围复制到 txt 文件,但是当我使用代码时:
Sub FromExcelToNpad()
'export activesheet as txt file
Dim myPath As String, myFile As String
myPath = ThisWorkbook.Path & "\"
myFile = "z.txt"
Dim WB As Workbook, newWB As Workbook
Set WB = ThisWorkbook
Application.ScreenUpdating = False
Set newWB = Workbooks.Add
WB.ActiveSheet.UsedRange.Copy newWB.Sheets(1).Range("A4,A10:A22,A28")
With newWB
Application.DisplayAlerts = False
.SaveAs Filename:=myPath & myFile, FileFormat:=xlText
.Close True
Application.DisplayAlerts = True
End With
WB.Save
Application.ScreenUpdating = True
End Sub
不断收到复制和粘贴错误,如果我只使用range("A4"),它就可以工作,但它最终会将整个工作表复制到 txt。
【问题讨论】:
-
如果你只想复制
Range("A4,A10:A22,A28"),为什么要使用它作为destination参数,而不是使用.Copy呢? -
因为我对 VBA 的了解实际上是 -1,我只是从其他地方复制了该代码并尝试使其适应我的需要。谢谢先生您的评论解决了我的问题,我将代码安排为:
-
WB.ActiveSheet.Range("A4,A10:A22,A28").Copy newWB.Sheets(1).Range("A4") 非常感谢!!!