复制不在相同范围内的多个单元格

时间:2018-05-31 11:27:42

标签: excel vba

我有一个复制指定范围的代码(取决于另一个工作表中的单元格有多少值)。因此,如果在表1列B中我填充了4个单元格,则宏将复制表单2中的4行值。

现在我希望它也能在同一张表中复制另一行以及W157的范围。

复制范围的部分工作正常,但它没有复制最后一行。

请提出任何建议。

Public Sub CommandButton2_Click()
Dim i As Long
Dim wb As Workbook
Dim NewWB As Workbook
Dim saveFile As String
Dim WorkRng As Range


On Error Resume Next


i = Sheets(1).Range("B14").End(xlDown).Row - 13 '(start checking if any 
values from B15 downwards)

Application.ScreenUpdating = False
Application.DisplayAlerts = False

Set wb = ActiveWorkbook
Set NewWB = Application.Workbooks.Add
Thispath = wb.path

wb.Sheets(2).Range ("W7:W" & i + 5) & wb.Sheets(2).Range("W157").Copy
NewWB.Worksheets(1).Range("A1").PasteSpecial Paste:=xlPasteValues
NewWB.SaveAs filename:=Thispath & "\TEXTFILE.txt", FileFormat:=xlText, 
CreateBackup:=False
NewWB.Close

Application.CutCopyMode = False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub

1 个答案:

答案 0 :(得分:0)

您只是指定复制一个范围。 '&'你使用的不是“和”,而是在VBA中连接字符串的指标。 “和”是逻辑运算符,但我认为它不会在.Copy函数中起作用。

您应该独立复制这两个范围。首先是行,然后是范围。那将是最简单的。

希望这会有所帮助。 :)

我注意到你的评论。您始终可以编写单独的行来读取并打印已复制内容底部的最后一行。