모두 하이퍼링크로 구성된 텍스트 열이 있습니다. 텍스트와 URL을 별도의 필드에 복사하고 싶습니다.
예를 들어 셀(A1)에는 "Apple"이 있습니다(하이퍼링크:http://www.apple.com)
D와 E에 값을 넣고 싶습니다.
D1에는 "Apple"이 포함됩니다.
E1에는 URL이 포함됩니다.http://www.apple.com
Function GetURL(HyperlinkCell As Range)
GetURL = Replace(HyperlinkCell.Hyperlinks(1).Address, "file:", "")
End Function
ThisWorkbook(VBA)에서 이것을 시도했고 결과는 다음과 같습니다.#이름?내 스프레드시트에
답변1
답변2
코드를 일반 모듈에 배치해야 합니다.
- VBE에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하세요.
- 삽입: 모듈
- (선택사항) 모듈에 더 합리적인 이름을 지정하세요.
거기에 코드를 잘라내어 붙여넣으세요. 그러면 잘 작동할 것입니다!
의도를 좀 더 명확하게 하기 위해 함수 헤더를 명시적으로 함수로 선언하고 Public
(아무것도 변경하지 않을 것이라고 명시하지 않지만 일부 사람들은 암시적으로 변경한다고 가정함 Private
) 반환 유형을 다음과 같이 설정하여 확장할 수 있습니다 String
.
Public Function GetURL(HyperlinkCell As Range) as String
Hyperlink 속성에는 문자열만 포함되므로 UDF에서 이를 명시적으로 설정하는 데 아무런 문제가 없습니다.