我试图将第一列复制到最后一列。这段代码有什么问题?得到以下错误:
Run-time error '438
object doesn't support this property or method
对于列,vba是否允许Copy
但不允许paste
?
Sub copy_ids_user_output(sheet_name As String)
' find last column
Dim last_col As Integer
last_col = Worksheets(sheet_name).Cells(1, Columns.Count).End(xlToLeft).column
Debug.Print last_col
Columns(1).Copy
Columns(last_col + 1).Paste
End Sub
答案 0 :(得分:5)
如果可能,您应该避免在宏中破坏用户的剪贴板。只需直接复制该列。
Columns(1).Copy Columns(last_col + 1)
答案 1 :(得分:-2)
您应该选择目的地,然后使用粘贴:
而不是:
Columns(last_col + 1).Paste
使用
Columns(last_col + 1).Select
ActiveSheet.Paste