我正在尝试根据动态行和列号创建一个范围并复制该范围并将其粘贴到另一个范围。我能够获得行数和列数;但不确定如何创建范围并将其用于复制方法
Sub cut_paste()
Set TS = ThisWorkbook.Sheets("Table_Schema")
TS.Activate
Dim rng As Range`enter code here`
Dim str As String
Dim frow As Integer
Dim lRow As Integer
lRow = Cells(Rows.Count, 1).End(xlUp).Row
frow = Range("A1").End(xlDown).Row
rng1 = "A" & frow
rng2 = "H" & lRow
str = """" & rng1 & ":" & rng2 & """"
' getting error on below line
Set rng = Range(str)
TS.Range(rng).Copy
End Sub
答案 0 :(得分:1)
您不需要多个"
来封装字符串,也不希望从范围(Range(rng)
)创建范围。
所以,有了改进
Sub cut_paste()
Set TS = ThisWorkbook.Sheets("Table_Schema")
Dim rng As Range
Dim str As String, rng1 As String, rng2 As String
Dim frow As Integer, lRow As Integer
lRow = TS.Cells(Rows.Count, 1).End(xlUp).Row
frow = TS.Range("A1").End(xlDown).Row
rng1 = "A" & frow
rng2 = "H" & lRow
str = rng1 & ":" & rng2
TS.Range(str).Copy
End Sub
答案 1 :(得分:0)
你过度使用字符串连接和Range object标识。
(identifier1# identifier_2# 23 4)
我使用With ... End With statement引用 Table_Schema 工作表作为所有单元格和范围引用的父级。