從表單中的單元格(Sheets("Omrnavne")
)開始,幾個範圍名稱彼此相連,代碼必須找到寫入的第一個值(範圍名稱) ,在Sheets("Specifikationer")
上查找並選擇帶有該名稱的實際範圍,複製數據,轉到Sheets("Omrnavne")
上的下一個值,找到實際範圍,粘貼值並重新開始。VBA Excel - 在將數據從一個範圍名稱複製/粘貼到另一個範圍名稱時,避免不要使用範圍名稱
問題:如果在Sheets("Omrnavne")
上寫出的範圍名稱不作爲範圍名稱存在,那麼如何跳過該範圍?
用下面的代碼:If Range(whatToFind) Is Nothing Then
我得到的錯誤:
Run-time error '1404': Method 'Range' of object'_Global' failed
爲這麼想的存在rangename搜索時。
我試了幾個小時,但沒有成功。請幫忙 - 謝謝。
的代碼是:
Sub Test1()
Dim whatToFind As String
Sheets("Omrnavne").Select
' Select first line of data*.
Range("a1").Select
' Set Do loop to stop when an empty cell is reached.
Do Until IsEmpty(ActiveCell)
whatToFind = ActiveCell.Value
'Find rangename, select and copy
Sheets("Specifikationer").Select
With Sheets("Specifikationer")
On Error Resume Next
On Error GoTo 0
If Range(whatToFind) Is Nothing Then ' <~~~~ ERROR HERE
Sheets("Omrnavne").Select
ActiveCell.Offset(2, 0).Select
whatToFind = ActiveCell.Value
Else
Range(whatToFind).Select
Selection.Copy
End If
End With
' Find and select rangename to paste to
Sheets("Omrnavne").Select
With Sheets("Omrnavne").Select
ActiveCell.Offset(1, 0).Select
whatToFind = ActiveCell.Value
Sheets("Specifikationer").Select
Range(whatToFind).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
End With
' Step down 1 row from present location.
Sheets("Omrnavne").Select
ActiveCell.Offset(1, 0).Select
Loop
End Sub