Excel에서 VBA를 사용하고 있으며 VLOOKUP을 셀에 수식으로 할당하고 있습니다. 잘 작동하지만 열에 값이 포함 된 마지막 셀을 참조하는 변수를 사용하고 싶습니다.
아래 예에서는 닫힌 문서의 요소 수에 따라 $ B $ 269의 값이 변경됩니다.
"=VLOOKUP(B2,'Macintosh HD:Users:myself:Documents:[Master_Terms_Users.xlsm]Master_Terms_Users.csv'!$A$1:$B$269,2,FALSE)"
다음과 같은 내용을 사용하고 싶습니다.
Range("B" & Rows.Count).End(xlUp).Address
하지만 VLOOKUP에 $ B $ 269와 같은 결과를 통합하는 방법을 알아낼 수 없었습니다. 이 수식은 Debug.Print에서 사용했기 때문에 올바른 주소를 반환한다는 것을 알고 있습니다.
나는 다음과 같은 것을 시도했다.
"=VLOOKUP(B2,'Macintosh HD:Users:myself:Documents:[Master_Terms_Users.xlsm]Master_Terms_Users.csv'!$A$1:"&GetLastRowFunct&",2,FALSE)"
그러나 그것은 작동하지 않았습니다.
내 현재 코드는 다음과 같습니다.
Sub GetLastRow()
Debug.Print GetLastRowFunct
End Sub
Function GetLastRowFunct() As String
Dim openNwb As Workbook
Const MasterPath = "Macintosh HD:Users:myself:Documents:"
Dim strNewFileName As String
strNewFileName = "Master_Terms_Users.xlsm"
Set openNwb = Workbooks.Open(MasterPath & strNewFileName)
Dim openNws As Worksheet
Set openNws = openNwb.Worksheets(1)
GetLastRowFunct = openNws.Range("B" & Rows.Count).End(xlUp).Address
openNwb.Close
End Function
모든 권장 사항을 주시면 감사하겠습니다.
워크 시트, 통합 문서 및 경로를 포함하여 전체 범위 주소를 반환하도록 해당 함수를 다시 작성합니다.
Function GetLastRowFunct() As String
Const MasterPath = "Macintosh HD:Users:myself:Documents:"
Dim openNwb As Workbook, strNewFileName As String
strNewFileName = "Master_Terms_Users.xlsm"
Set openNwb = Workbooks.Open(MasterPath & strNewFileName)
with openNwb.Worksheets(1)
GetLastRowFunct = .Range(.cells(1, 1), .cells(rows.count, "B").End(xlUp)).Address(1, 1, external:=true)
end with
openNwb.Close
End Function
수식 구성 및 할당이 더 간단 해집니다.
rng.formula = "=VLOOKUP(B2, " & GetLastRowFunct & ", 2, FALSE)"
tbh, 나는 당신이 자신의 대괄호를 제공 해야하는지 Mac에서 제공 해야하는지 잘 모르겠습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다