Excel 从不同工作表复制粘贴时需要的对象
我试图从一张工作表中复制一个范围,然后将其转置并粘贴到同一工作簿中的另一张工作表中,但由于某种原因,我得到了一个 对象要求错误 在首字母Excel 从不同工作表复制粘贴时需要的对象,excel,vba,object,copy-paste,Excel,Vba,Object,Copy Paste,我试图从一张工作表中复制一个范围,然后将其转置并粘贴到同一工作簿中的另一张工作表中,但由于某种原因,我得到了一个 对象要求错误 在首字母.Copy行。有人能给我解释一下吗 Sub Clean() Dim tRow As Double Dim bRow As Double Dim PasteRange As Double tRow = 5 With ThisWorkbook.Worksheets("Canadian").Activate
.Copy
行。有人能给我解释一下吗
Sub Clean()
Dim tRow As Double
Dim bRow As Double
Dim PasteRange As Double
tRow = 5
With ThisWorkbook.Worksheets("Canadian").Activate
bRow = Cells(Rows.Count, "A").End(xlUp).row
Worksheets("Canadian").Range(.Cells(tRow, "A"), .Cells(bRow, "A")).Copy
PasteRange = (bRow - tRow)
End With
With ThisWorkbook.Worksheets("SectorSort").Activate
.Range(.Cells(7, "D"), .Cells(7, PasteRange + 4)).PasteSpecial (xlPasteValues), Transpose:=True
End With
End Sub
需要进行一些更改:
Sub Clean()
Dim tRow As Long: tRow = 5
Dim bRow As Long
With ThisWorkbook.Worksheets("Canadian")
bRow = .Cells(.Rows.Count, "A").End(xlUp).row
.Range(.Cells(tRow, "A"), .Cells(bRow, "A")).Copy
End With
With ThisWorkbook.Worksheets("SectorSort")
.Range("D7").PasteSpecial Paste:=xlPasteValues, Transpose:=True
End With
End Sub
需要删除。激活
在范围
和单元格
之前添加
,因为您处于With
语句中
而且,粘贴更改时,您也可以仅针对单个单元格
With ThisWorkbook.Worksheets("Canadian").Activate
进入
与下一个相同(关于“SectorSort”)删除。激活,并将变量声明为Long
。很好,它成功了。关于粘贴值…是否可以将其格式化为日期?请查看日期格式BTW的.code>.Range(.Cells(7,“D”),.Cells(7,pasterrange+4)).NumberFormat=“m/D/yyyy”
。如果根本不使用PasteRange
,可以完全忽略它。它应该是.PasteSpecial Paste:=xlPasteValues,Transpose:=True
我相信你也可以在一行中完成这项工作,只要给这个工作簿赋值工作表(“SectorSort”).Range(“D7:D”和7+bRow-tRow)。Value=.Range(.Cells(tRow,“A”),Application.Transpose(.Cells(bRow,“A”).Value)
With ThisWorkbook.Worksheets("Canadian")