2012-10-08 4 views
2

현재 셀의 내용을 기반으로 하이퍼 링크를 만드는 매크로를 만들려고합니다.자동화 된 하이퍼 링크

의 셀 A1에서 것을 가정 해 보자는, "=으로 대체 할"= B29 "내 활성 셀이 A1 인 경우, 내가 원하는 셀 B29 (예 :"= B29 ")을 참조하여,

있다 HYPERLINK ("#"& CELL ("주소", B29), B29) "매크로를 실행할 때.

이 매크로는 현재 셀에서만 작동합니다. 이것이 가능한가?

도와 주시면 감사하겠습니다.

Sub hyperlinktocell() 
    Dim num1 As Integer 
    Dim celladress As String 

    num1 = Len(ActiveCell.Formula) - 1 
    celladdress = Right(ActiveCell.Formula, num1) 
    ActiveCell.Formula = "=HYPERLINK(""#""&CELL(""address"",celladdress,celladdress)" 
End Sub 

내가 VBA 새로운 오전 및 성공없이 위의 권리를 얻기 위해 약 2 시간을 보냈다 :

나는 다음과 같은 있지만 작동하지 않습니다했습니다. 거의 모든 작업을 수행 한 이후

+1

방금 ​​시도했는데 3 줄에서 아무런 문제가 없을 수 있습니다. 'ActiveCell'과'Formula' 속성을 사용해야합니다. 적절한 공식을 얻으려면'Right()'와'Len()'을 사용했습니다. 이것은 당신을 시작하게하는데 충분할 것입니다. – ApplePie

+0

알렉스. 고마워. 나는 당신이 제안한 와트를 시도했지만 (위 참조) 나는 그것을 잘 만들 수 없었다. 도와 주셔서 감사합니다. –

+0

이것은'celladdress'를 텍스트가 아닌 변수로 사용하기 때문입니다. 닫기 따옴표로 텍스트를 끝내고 &를 사용하여 연결해야합니다.''this is a string "& my_variable &"이것은 다른 문자열입니다. "' – ApplePie

답변

1

, 내가 가진 무엇을 게시합니다 : 당신이 볼 수 있듯이

Private Sub test() 
    Dim s As String 
    s = Right(ActiveCell.Formula, Len(ActiveCell.Formula) - 1) 
    ActiveCell.Formula = "=HYPERLINK(""#""&CELL(""address""," & s & ")," & s & ")" 
End Sub 

는 떨어져 한 적은 변수를 사용에서 우리는 같은 해결책을 가지고 있습니다. 마지막 줄에서 문자열을 어떻게 연결했는지 확인하십시오. 코드에서 큰 따옴표 안에 모든 변수가 있으므로 텍스트가됩니다. 그러면 Excel이이 속성에 대한 올바른 값이 아니라고 불평합니다.