【问题标题】:Copying multiple cells not in same range复制不在同一范围内的多个单元格
【发布时间】:2018-05-31 11:27:41
【问题描述】:

我有一个复制指定范围的代码(取决于另一个工作表中的值单元格有多少值)。因此,如果在工作表 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

【问题讨论】:

    标签: excel vba


    【解决方案1】:

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

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

    希望这会有所帮助。 :)

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

    【讨论】:

    • 问题是在结果文本文件中它必须显示在底部。将这些值视为范围的总和。所以它必须在底部
    猜你喜欢
    • 2019-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    相关资源
    最近更新 更多