VBA Cells 함수 – Cells, Worksheet.Cells, Range.Cells
이 튜토리얼에서는 VBA Cells 함수를 사용하는 방법을 설명합니다.
VBA 셀 함수를 사용하면 두 가지 작업을 수행할 수 있습니다:
- 워크시트의 모든 셀 참조
- 특정 셀 참조
Cells 함수는 Range 객체와 유사합니다.
VBA – Cells 구문
Cells 함수의 기본적인 구문은 다음과 같습니다:
이러한 유형의 구문은 Excel VBA에서 Range 객체를 사용할 때 사용되는 A1 구문(열 문자+행 번호)과 반대되는 개념으로 R1C1 구문이라고합니다.
따라서 C4셀을 선택하려면 다음 코드를 입력하면 됩니다:
Cells(3, 4).Select
위 코드를 실행하면 Excel 포인터가 워크시트의 C4셀로 이동합니다.
Cells 함수를 사용하여 특정 셀에 텍스트를 채운 다음 셀의 서식을 지정하려면 아래 예제와 같은 코드를 작성하면 됩니다:
Sub PopulateCell()
Cells(2, 2) = "Sales Analysis for 2022"
Cells(2, 2).Font.Bold = True
Cells(2, 2).Font.Name = "Arial"
Cells(2, 2).Font.Size = 12
End Sub
이렇게 하면 B2 셀에 텍스트가 채워지고 셀 서식이 지정됩니다.
Worksheet.Cells
Cells 함수를 사용하여 전체 워크시트를 선택하려는 경우 다음 코드를 사용해야 합니다:
Worksheets("Sheet1").Cells.Select
위 코드를 실행하면 키보드에서 CTRL + A를 누르는 것과 같은 방식으로 Sheet1의 모든 셀이 선택됩니다.
Range.Cells
Cells 함수를 사용하여 셀 범위 내에서 특정 셀을 참조할 수도 있습니다.
Range("A5:B10").Cells(2, 2).Select
이 경우 B6셀이 해당 범위(A5:B10)의 두 번째 행과 두 번째 열에 위치해 있으므로 B6셀을 참조합니다.
Cells 함수를 사용하여 범위 반복하기
이제 Cells 함수에 대해 어느정도 이해했으므로 VBA 반복문에서 Cells 함수를 응용하는 몇 가지 예제를 살펴보겠습니다.
예를 들어 셀의 값에 따라 셀 범위의 서식을 지정하려는 경우 Cells 함수를 사용하여 범위를 반복하여 서식을 지정 할 수 있습니다.
Sub FormatCells()
Dim x As Integer
For x = 1 To 10
If Cells(x, 1) > 5 Then
Cells(x, 1).Interior.Color = vbRed
End If
Next x
End Sub
이 코드는 A1셀에서 시작하여 A10셀까지 반복하면서 셀의 값이 5보다 크면 배경색을 빨간색으로 변경합니다.
한 단계 더 나아가 행뿐만 아니라 열까지 반복하려면 기존 반복문에 루프를 하나 더 추가하여 행과 열을 모두 반복할 수 있습니다.
Sub FormatCells()
Dim x As Integer
Dim y As Integer
For x = 1 To 10
For y = 1 To 5
If Cells(x, y) > 5 Then
Cells(x, y).Interior.Color = vbRed
End If
Next y
Next x
End Sub
이제 루프는 A5셀에서 시작해서 E10셀까지 반복합니다.
Cells 함수를 사용하여 특정 범위의 셀을 반복할 수도 있습니다.
Sub LoopThrouRange()
Dim rng As Range
Dim x As Integer
Dim y As Integer
Set rng = Range("B2:D8")
For x = 1 To 7
For y = 1 To 3
If rng.Cells(x, y) > 5 Then
rng.Cells(x, y).Interior.Color = vbRed
End If
Next y
Next x
End Sub
이 루프는 B2:D8 범위 내부의 행과 열을 반복합니다. Cells 함수에 범위가 제공되면 Cells 함수는 전체 워크시트가 아닌 해당 범위 내에서만 작동합니다.