2016-07-27 4 views
-1

사용자 정의 함수를 사용하여 Excel 워크 시트의 셀 내용을 다른 워크 시트로 가져와야합니다. 그래서 stackoverflow 검색 및 다음 vba 코드를 발견했다.다른 셀 시트에 셀 내용 가져 오기

Function GetValue(sheetName As String, cellAddress As String) As Variant 
    GetSheetValue = ThisWorkbook.Sheets(sheetName).Range(cellAddress) 
End Function 

이것은 내가 예상 한 올바른 것입니다. 그러나 그것은 나를 위해 작동하지 않습니다. 다음과 같이 사용자 정의 함수를 개발해야합니다.

=GetContent(Sheet1,B6) 

나는 많은 것을 시도했지만 그것을 할 수 없다. 그래서 나는이 문제에 대한 어떤 반응이라도 매우 잘 설명한다.

내가 답을 찾았습니다 ScreenShot 02 ScreenShot 03

+0

나는 이것이 연습을위한 것이라고 생각할 것이다. '= GetContent ("Sheet1", "B6")'문자열이 필요하므로 따옴표로 묶어야합니다. 그러나'= Sheet1! B6'은 이제 vba가 없으므로 수행합니다. –

+0

또한 코드가 워크 시트 또는 ThisWorbook 코드가 아닌 통합 문서에 부착 된 모듈에 있는지 확인하십시오. –

+0

@ScottCraner는 따옴표없이 입력 된 문자열에 문제가 없습니다 (vba는 함수에서 지정된 이후로 문자열 유형으로 변환합니다). 스크린 샷을 자세히 살펴보면 OP가 대문자로 표시되지 않으므로 OP가 문자열이 포함 된 셀을 참조하는 경우 true가 될 – RGA

답변

0

감사합니다 (내 예에 대한 스크린 샷을 제공합니다). 내 함수는 다음 코드와 같이 정확해야합니다.

Function GetContent(sheetName As String, cellAddress As String) As String 
    GetContent = ActiveWorkbook.Sheets(sheetName).Range(cellAddress) 
End Function 

나는 함수 이름에 신경 쓰지 않고 똑같이 돌아 간다. 그러나 우리는 그것을해야만합니다. 또한 문자열 데이터 유형에는 사용 할당량과 대소 문자를 구분합니다. 귀중한 도움을 주신 모든 분들께 감사드립니다. 그 대답을 피할 수있게 도와줍니다. 이제 wecan은 다음과 같이 함수를 사용합니다.

=GetContent("Sheet2","b5") 

감사합니다!