2017-10-14 14 views
0

일련의 명령이 런타임 오류 : 1004가되는 것 같습니다.이 오류의 원인을 알고 싶습니다.Excel VBA : 하이퍼 링크를 추가 할 때 오류 1004

Activesheet.Hyperlinks.add 줄이 없으면 셀 값이 올바르게 설정되고 하이퍼 링크가 누락됩니다 ... 그러면 xCell 참조가 손실되었다고 생각되지만 디버그 문을 배치했습니다. hyperlink.add 전에 액세스 할 수있는 것 같습니다.

예 URL : http://www.walmart.com/ip/Transformers-Robots-in-Disguise-3-Step-Changers-Optimus-Prime-Figure/185220368

For Each xCell In Selection 
    Url = xCell.Value 
    If Url = "" Then 
     'Do Nothing 
    ElseIf IsEmpty(xCell) = True Then 
     'Do Nothing 
    ElseIf IsEmpty(Url) = False Then 
     splitArr = Split(Url, "/") 
     sku = splitArr(UBound(splitArr)) 
     xCell.Value = "https://www.brickseek.com/walmart-inventory-checker?sku=" & sku 
     'Error happens on next command 
     ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=xCell.Formula 
    End If 
Next xCell 

답변

1

.Formula 문를 사용하지 마십시오 .Value
하지 모두를 수행

Sub demo() 
    Dim s As String, xCell As Range 

    s = "http://www.walmart.com" 
    Set xCell = Range("B9") 
    ActiveSheet.Hyperlinks.Add Anchor:=xCell, Address:=s, TextToDisplay:=s 
End Sub 

은 일반적인 작업 예이다.

+0

명확히하기 위해 명령 시퀀스에서 문제는 var xCell의 값을 설정 한 다음 동일한 셀에 하이퍼 링크 추가로 수정하려고하는 것입니다. 변수 "s"만 설정하고 추가 하이퍼 링크를 호출하면 이로 인해 발생 된 xCell의 참조가 중지됩니까? 당신의 솔루션은 효과가있었습니다. 저는 왜 그 이유가 정확한지 확신 할 수 없습니다. 고맙습니다. –