VBA를 사용하여 Excel 시트에서 공백이 아닌 열 수 찾기
VBA를 사용하여 Excel 시트의 사용된 열 수를 찾으려면 어떻게 해야 합니까?
Dim lastRow As Long
lastRow = Sheet1.Range("A" & Rows.Count).End(xlUp).Row
MsgBox lastRow
위의 VBA를 사용하여 행 수를 확인할 수 있습니다.하지만 주어진 엑셀 파일의 열 수를 어떻게 찾나요?
예제 코드는 현재 열의 마지막 공백이 아닌 셀의 행 번호를 가져오며 다음과 같이 다시 작성할 수 있습니다.
Dim lastRow As Long
lastRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
MsgBox lastRow
그러면 현재 행의 마지막 공백이 아닌 셀의 열 번호를 가져오는 데 필요한 코드가 다음과 같은 것을 쉽게 알 수 있습니다.
Dim lastColumn As Long
lastColumn = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox lastColumn
이것도 도움이 될 수 있습니다.
With Sheet1.UsedRange
MsgBox .Rows.Count & " rows and " & .Columns.Count & " columns"
End With
단, A열 및/또는 1행이 공백일 경우 위의 다른 예시와 같은 결과가 되지 않는다는 점에 유의하십시오.자세한 내용은 다음 웹 사이트를 참조해 주세요.UsedRange
소유물.
Jean-Franchois Corbett의 대답은 완벽하다.자세한 설명을 위해 몇 가지 제한사항을 추가하고자 합니다.UsedRange.Columns.Count
또는UsedRange.Rows.Count
.
문제는 행/열을 삭제할 때(적어도 워크북을 다시 열 때까지) Used Range가 항상 업데이트되지 않는다는 것입니다.
당신이 잊어버렸을 수도 있어요.sheet1
그 전 어딘가에서columns.count
또는, 이 값을 카운트 합니다.activesheet
컬럼이 아닌sheet1
의
그리고 xltorlight가 아니라 xltoleft로 해야 하지 않을까요?(여기서 많이 늦었지만 오른쪽은 왼쪽에서 알 것 같아요) 확인했는데 xltoleft라고 써주세요.
lastColumn = Sheet1.Cells(1, sheet1.Columns.Count).End(xlToleft).Column
답은 다음과 같습니다.
numCols = objSheet.UsedRange.Columns.count
결과는 다음 코드에서 열 번호(8,9 등)로 표시됩니다.
Dim lastColumn As Long
lastColumn = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox lastColumn
결과는 다음 코드(H,I 등)로 표시됩니다.
Dim lastColumn As Long
lastColumn = Sheet1.Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox Split(Sheet1.Cells(1, lastColumn).Address, "$")(1)
언급URL : https://stackoverflow.com/questions/6897347/finding-the-number-of-non-blank-columns-in-an-excel-sheet-using-vba
'programing' 카테고리의 다른 글
두 조건이 일치하는 경우 카운트 - EXCEL 공식 (0) | 2023.04.11 |
---|---|
WPF 창에서 현재 포커스된 요소/컨트롤을 가져옵니다. (0) | 2023.04.11 |
PowerShell에서 출력을 $null로 리디렉션하지만 변수가 설정된 상태로 유지되도록 합니다. (0) | 2023.04.11 |
curl 명령에 대한 데이터 URLencode 방법은 무엇입니까? (0) | 2023.04.11 |
셸 스크립트의 kill -0 $pid는 무엇을 합니까? (0) | 2023.04.11 |