运行"粘贴"时出现VBA运行时错误438

Sey*_*eya 1 excel vba paste excel-vba

我刚刚熟悉VBA和我的代码

For k = 3 To ThisWorkbook.Sheets.Count
ThisWorkbook.Sheets(k).Activate
ActiveSheet.Cells(11, 2).Select

lLastRow = Cells(Rows.Count, 1).End(xlUp).Row
ActiveSheet.Range("A5:" & "A" & CStr(lLastRow)).Copy
' ThisWorkbook.Sheets(1).Cells("B" & CStr(lFirstRow) & ":B" & CStr(lLastRow)).Select
ThisWorkbook.Sheets(1).Activate
ActiveSheet.Cells(lFirstRow, 2).Select
Selection.Paste
'Selection.PasteSpecial Paste:=xlPasteValues
'Selection.PasteSpecial Paste:=xlPasteFormats
lFirstRow = lFirstRow + lLastRow
Next k
Run Code Online (Sandbox Code Playgroud)

当"Selection.Paste"行出现时,出现"运行时错误438.对象不支持此属性或方法".有什么问题?:(我试过使用paste special,激活工作表并选择单元格(不是范围),使用Cstr,但没有改变

Mar*_*ald 8

尝试 Selection.PasteSpecial xlPasteAll

Paste它本身适用于多个物体,最值得注意的是,Worksheet但不是Range物体就是你的物体Selection.

要粘贴到一个Range你真的必须使用该PasteSpecial方法与其可用的争论,如xlPasteAll; xlPasteValues; xlPasteFormulas; xlPasteFormats和其他你可以通过F1在光标PasteSpecial位于VBE 内时按下来看到的.