서브 사이에서 값을 앞뒤로 전달하는 방법을 배우려고합니다. 나는 궁극적으로 동일한 코드 라인을 반복적으로 사용하는 매크로 서브를 몇 개 만들었습니다. 시작하려면 열과 행 수를 조회/계산할 수 있어야합니다. 이것은 내가 지금까지 가지고 있지만 작동하지 않습니다.VBA 서브 사이의 패스 값
또한 행을 넘어서 확장하고 싶습니다.
Public Sub main()
Dim lCols As Integer
Dim lRows As Integer
lCols = countCols(Sheet1)
Sheet1.Range("M2").Value = lCols
End Sub
Public Function countCols(sheetValue As Worksheet) As Variant
countCols = sheetValue.Cells(Rows.Count, 1).End(x1Up).Row
Exit Function
End Function
는 지금 그것이 sheetValue에 "시트 1"을 통과하지 않는 나타납니다 ... 함수 내 달려 있습니다.
'x1Up'이'가'1'하지 L''소문자를 xlUp'해야합니다. –
참고로이 질문에 대답하기 전에 다음 링크를 참조하십시오. https://stackoverflow.com/questions/17998773/set-a-variable-in-one-sub-and-use-in-another/17999208# 17999208 –
Scott 님의 의견으로는 문제가 해결되지 않는 경우 질문이 "중단됩니다"라는 의미에 대한 자세한 내용으로 업데이트하십시오. ('xlUp' 대신에'x1Up'을 사용하면 일반적으로 "응용 프로그램 정의 또는 객체 정의 오류"로 코드가 충돌하거나 hang이 아닌 잘못된 값을 반환합니다. – YowE3K