excel 粘贴到表中的最后一行

5lhxktic  于 2023-10-22  发布在  其他
关注(0)|答案(1)|浏览(149)

感谢帮助在这里和谷歌我几乎有宏我需要.一个问题是我想粘贴值而不是复制.
我已经将torange设置为范围DIM,但是当我通过msgbox测试它时,它是空白的,这导致粘贴错误。

Set VisRange = Application.Intersect(VisRange, wsf.Columns("D:R"))
    
'If MsfT_LastRow = 2 Then
'VisRange.Copy Destination:=wst.Range("a2")
'Else
'MsfT_LastRow = MsfT_LastRow + 1

If MsfT_LastRow = 2 Then
    Set torange = Range("A2")
    MsgBox (torange)
Else
    Set torange = Range("a" & MsfT_LastRow + 1)
    MsgBox (torange)
    'VisRange.Copy Destination:=wst.Cells(MsfT_LastRow, 1)
End If
   
VisRange.Copy
Range(torange).PasteSpecial xlPasteValues
xwbd5t1u

xwbd5t1u1#

您的文件夹为空,因为您试图粘贴到的单元格应该为空。因为你的torange已经是一个Range对象,Range(torange)是错误的原因,所以不是:

Range(torange).PasteSpecial xlPasteValues

与:

torange.PasteSpecial xlPasteValues

指定您正在查看的工作表,否则系统将假定它是活动工作表:

With dws 'or whatever you called your worksheet variable
    If MsfT_LastRow = 2 Then 
        Set torange = .Range("A2")
        'MsgBox (torange) 
    Else 
        Set torange = .Range("a" & MsfT_LastRow + 1) 
        'MsgBox (torange)
    End If    
End With
    VisRange.Copy
    torange.PasteSpecial xlPasteValues

相关问题