VBA에서 열 계산
이 기사에서는 Excel에서 VBA를 사용하여 데이터가 있는 열을 쉽게 계산하는 두 가지 방법에 대해 설명합니다.
VBA에서 열 계산
몇 개의 열이 있는 작은 데이터 테이블이 있으면 쉽게 셀 수 있지만 큰 데이터 테이블에서는 오류 없이 모든 열을 계산하기가 매우 어렵습니다. 그 외에도 일부 열에는 데이터가 포함될 수 있지만 일부 열은 완전히 비어 있을 수 있습니다.
따라서 데이터 테이블이 큰 경우 데이터가 있는 모든 열을 계산하는 것은 매우 어렵습니다. 이제 작업할 샘플 데이터가 포함된 시트를 만들어 보겠습니다.
다음 데이터 테이블에서 세 개의 열을 볼 수 있습니다. 단일 Excel 워크시트에서 사용된 열 수를 제어하기 위해 VBA 코드를 사용합니다.
먼저 ALT + F11 키를 눌러 VBA 편집기를 엽니다. 그런 다음 삽입 > 모듈
에서 새 모듈을 만듭니다.
그런 다음 usedColumns()
라는 새 하위 항목을 만듭니다. 새 하위 내부에서 with
루프를 사용하여 UsedRange
메서드를 사용하여 사용된 범위를 가져옵니다.
그런 다음 columns
의 count 방법을 사용하여 사용된 열의 수를 출력합니다.
예제 코드:
# VBA
Sub usedColumns()
With Sheet1.UsedRange
MsgBox "The Used Columns are: "& .Columns.Count
End With
End Sub
매크로를 저장하고 F5를 누르거나 실행을 클릭하여 실행하십시오. 매크로
대화 상자가 아래와 같이 나타납니다.
출력:
VBA에서 범위의 열 개수
다음 VBA 코드는 지정된 범위의 데이터가 있는 모든 열을 계산합니다.
새로운 하위 ColumnsInRange()
를 생성해 보겠습니다. 이 하위에서 range 함수를 사용하여 해당 범위의 열 수를 선택하고 계산합니다.
예제 코드:
# VBA
Sub ColumnsInRange()
Dim newRange As Worksheet
Set newRange = Worksheets("Sheet1")
MsgBox "The Used Columns are: " & newRange.Range("A15:D15").Columns.Count
End Sub
출력:
VBA에서 Range().End
메서드 사용
Range().End
메서드를 사용하여 해당 범위에서 사용된 마지막 열을 가져올 수 있습니다.
새 하위 findLastColumn()
을 만들고 해당 하위 내부에서 범위의 End
메서드를 사용하여 시트의 오른쪽에 사용된 마지막 열을 찾습니다.
# VBA
Sub findLastColumn()
Dim newRange As Integer
newRange = Range("A2").End(xlToRight).Column
MsgBox newRange
End Sub
출력:
위의 그림과 같이 팝업 대화 상자에서 마지막 열 번호를 얻습니다.
VBA에서 Cells.Find()
메서드 사용
Range.Find
메서드를 사용하여 VBA 코드를 사용하여 시트에서 마지막으로 사용된 열을 가져올 수도 있습니다.
다음 코드를 확인하십시오. LastColumnByFind()
하위에서 Cells.Find()
메서드를 사용하여 마지막으로 사용된 열을 찾습니다.
예제 코드:
# VBA
Sub LastColumnByFind()
Dim newRange As Long
newRange = Cells.Find(What:="*", _
After:=Range("A1"), _
LookAt:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
MsgBox "Last Used Column Number by Find Method: " & newRange
End Sub
출력: