문제
목록 시작 부분의 범위 이름을 알고 있습니다. 1
열 너비와 x
줄이 깊어요.
어떻게 계산하나요? x
?
열에는 이 목록보다 더 많은 데이터가 있습니다.그러나 이 목록은 연속되어 있습니다. 셀 위나 아래 또는 옆에는 아무 것도 없습니다.
해결책
Function ListRowCount(ByVal FirstCellName as String) as Long
With thisworkbook.Names(FirstCellName).RefersToRange
If isempty(.Offset(1,0).value) Then
ListRowCount = 1
Else
ListRowCount = .End(xlDown).row - .row + 1
End If
End With
End Function
하지만 목록에 아무것도 없다고 확신한다면 그냥 thisworkbook.Names(FirstCellName).RefersToRange.CurrentRegion.rows.count
다른 팁
Sheet1.Range("myrange").Rows.Count
Excel 수식을 사용하여 행을 결정하는 것은 어떨까요?예를 들어, A열에 데이터가 포함된 셀 수를 찾고 있는 경우 다음을 사용하세요.
=COUNTIFS(A:A,"<>")
<>를 임의의 값으로 대체하여 해당 값이 포함된 행 수를 확인할 수 있습니다.
=COUNTIFS(A:A,"2008")
이는 채워진 셀을 연속해서 찾는 데에도 사용할 수 있습니다.
다음을 사용할 수도 있습니다.
Range( RangeName ).end(xlDown).row
명명된 범위에서 시작하여 데이터가 포함된 마지막 행을 찾습니다.
@GSerg가 제공한 답변을 원하셨을 것이라고 확신합니다.라는 워크시트 함수도 있습니다. rows
그러면 행 수를 알 수 있습니다.
따라서 다음과 같은 명명된 데이터 범위가 있는 경우 Data
7개의 행이 있는 경우 =ROWS(Data)
해당 셀에 7이 표시됩니다.
마지막 한 줄은 @GSerg에서 완벽하게 작동했습니다.
다른 기능은 제가 작업해 왔던 기능이었지만 꼭 필요한 경우가 아니면 UDF에 의존하는 것을 좋아하지 않습니다.
나는 Excel과 VBA의 조합을 시도했고 이것이 작동하도록 했습니다. 그러나 귀하의 답변에 비해 투박합니다.
strArea = Sheets("Oper St Report CC").Range("cc_rev").CurrentRegion.Address
cc_rev_rows = "=ROWS(" & strArea & ")"
Range("cc_rev_count").Formula = cc_rev_rows