반응형
VBA: 테이블(목록 개체)의 행 수 계산
테이블 이름(리스트 오브젝트)을 파라미터로 사용하여 행 수를 반환할 수 있는 VBA를 엑셀로 작성하려고 합니다.
다음은 작동하지만 테이블 이름을 가진 문자열을 전달할 수 없습니다.
MsgBox ([MyTable].Rows.Count)
다음은 오류를 나타냅니다.
필요한 개체
v_MyTable = "MyTable"
MsgBox (v_MyTable.Rows.Count)
다음은 오류를 나타냅니다.
객체 변수 또는 블록 변수가 설정되지 않음
v_MyTable_b = "[" & "MyTable" & "]"
MsgBox(v_MyTable_b.Rows.Count)
처음 접하는 ListObjects로 작업도 해봤습니다.오류가 발생했습니다.
개체가 이 속성 또는 메서드를 지원하지 않습니다.
Dim tbl As ListObject
Set tbl = ActiveSheet.ListObjects("MyTable")
MsgBox(tbl.Rows.Count)
도와주셔서 감사합니다!
당신은 당신이 찾고 있는 것에 대해 한 단계 더 깊이 들어가야 합니다.
Dim tbl As ListObject
Set tbl = ActiveSheet.ListObjects("MyTable")
MsgBox tbl.Range.Rows.Count
MsgBox tbl.HeaderRowRange.Rows.Count
MsgBox tbl.DataBodyRange.Rows.Count
Set tbl = Nothing
자세한 정보는 다음 위치:
개체 인터페이스 나열
ListObject.범위 특성
ListObject.데이터 본문 범위 속성
ListObject.헤더 행 범위 속성
다음을 사용할 수 있습니다.
Range("MyTable[#Data]").Rows.Count
이전 코드가 두 경우 모두 "1"을 반환하므로 데이터 행이 하나이거나 데이터가 없는 테이블을 구분해야 합니다.이를 통해 빈 테이블을 테스트합니다.
If WorksheetFunction.CountA(Range("MyTable[#Data]"))
사용할 수 있는 항목:
Sub returnname(ByVal TableName As String)
MsgBox (Range("Table15").Rows.count)
End Sub
그리고 아래와 같이 함수를 호출합니다.
Sub called()
returnname "Table15"
End Sub
언급URL : https://stackoverflow.com/questions/29639474/vba-counting-rows-in-a-table-list-object
반응형
'programing' 카테고리의 다른 글
이전 버전의 R 패키지 설치 (0) | 2023.07.05 |
---|---|
Spring Security 5 Application Runner에서 OAuth2 Secured API를 호출하면 잘못된 인수가 발생함예외. (0) | 2023.07.05 |
Oracle에서 VARCHAR의 XMLTYPE을 변환하는 방법은 무엇입니까? (0) | 2023.06.30 |
Firebase 프로젝트 ID의 이름을 변경하려면 어떻게 해야 합니까? (0) | 2023.06.30 |
Excel 2010을 열 때마다 팀 탭이 제거됩니다. (0) | 2023.06.30 |