這個問題在這里已經有了答案: 為什么 Range 有效,而 Cell 無效? (1 個回答) 2 天前關閉。
當我參考范圍時,我收到錯誤“物件 _Global 的方法范圍失敗”,因為Range(Cells(row, 1)).Select只有我收到錯誤。
但是如果我把它稱為Range("A2").select那么我不會得到錯誤。
我嘗試給出完整路徑, ThisWorkbook.Worksheets("FD").Range(Cells(row, 1)).Select但它也不起作用。
下面是我正在使用的功能,
Function copyTBdata()
Dim FD As Worksheet, CD As Worksheet
Set FD = ThisWorkbook.Worksheets("FD")
Dim row As Long
row = (ThisWorkbook.Sheets("FD").Cells(Rows.Count, 1).End(xlUp).row) 1
ThisWorkbook.Worksheets("TB").Activate
Range("AD2", Range("AD2").End(xlDown).End(xlToRight)).Copy
FD.Activate
Range(Cells(row, 1)).Select
Selection.PasteSpecial Paste:=xlPasteValues
End Function
如何解決這個問題?
uj5u.com熱心網友回復:
在ThisWorkbook.Worksheets("FD").Range(Cells(row, 1)).Select該Cells不配所以會指活性片。最好盡可能使用參考。
Sub copyTBdata()
Dim wsFD As Worksheet, wsTB As Worksheet
Dim rowno As Long
Set wsFD = ThisWorkbook.Worksheets("FD")
Set wsTB = ThisWorkbook.Worksheets("TB")
With wsFD
rowno = .Cells(.Rows.Count, 1).End(xlUp).row 1
End With
With wsTB
.Range("AD2", .Range("AD2").End(xlDown).End(xlToRight)).Copy
wsFD.Range("A" & rowno).PasteSpecial Paste:=xlPasteValues
End With
Application.CutCopyMode = False
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/380750.html
下一篇:在VBA中創建記錄陣列
