본문 바로가기
Range object

[Range 개체] Rows속성

2023. 7. 5.

Range개체의 Rows속성은 지정된 범위의 행을 나타내는 Range 개체를 반환합니다 . 읽기 전용 속성입니다.

Range개체를 반환하므로 Range개체의 속성과 메서드를 사용할 수 있습니다.

단일 행을 반환하려면 Item 속성을 사용하거나 괄호 안에 인덱스를 포함합니다.

Range("A1:C10").Rows(5).Select
Range("A1:C10").Rows.Item(5).Select

위 코드를 실행한 결과입니다.

반복문에서 Rows속성을 이용하는 간단한 예제입니다.

Sub PrintRowAddresses()

    Dim rng As Range
    Dim r As Range
    
    Set rng = Range("B2:D5")
    
    For Each r In rng.Rows
        Debug.Print r.Address
    Next r
    
End Sub

행 개수를 세는 간단한 예제입니다.

Sub CountRows()

    Dim rng As Range
    Dim rowCount As Long
    
    '첫 번째 범위
    Set rng = Range("A1:C5")
    
    rowCount = rng.Rows.Count
    
    Debug.Print "범위: " & rng.Address & " | 총 행 수: " & rowCount
    
    '두 번째 범위
    Set rng = Range("B5:C7")
    
    rowCount = rng.Rows.Count
    
    Debug.Print "범위: " & rng.Address & " | 총 행 수: " & rowCount
    
    '세 번째 범위
    Set rng = Range("D4:F10")
    
    rowCount = rng.Rows.Count
    
    Debug.Print "범위: " & rng.Address & " | 총 행 수: " & rowCount
    
End Sub

이 코드는 선택된 행에 교대로 강조 표시를 합니다.

Sub highlightAlternateRows()

    ' rng 변수를 Range 타입으로 선언합니다.
    Dim rng As Range

    ' 선택한 영역의 각 행에 대해 반복문을 실행합니다.
    For Each rng In Selection.Rows
    
        ' 행 번호를 2로 나눈 나머지가 0인 경우(짝수 행인 경우)
        If rng.Row Mod 2 = 0 Then
            ' 해당 행의 스타일을 "40% - Accent6"로 변경합니다.
            rng.Style = "40% - Accent6"
        Else
            ' 나머지 행(홀수 행인 경우)의 스타일을 "Normal"(기본 스타일)로 변경합니다.
            rng.Style = "Normal"
        End If
        
    ' 다음 행으로 이동합니다.
    Next rng

End Sub

매크로 실행 전

매크로 실행 후

이 코드는 C열의 값이 특정값인 경우 배경색을 변경합니다.

Sub HighlightCondimentRows()

    Dim rowIndex As Long
    Dim lastRow As Long
    Dim dataRange As Range
    Dim highlightRange As Range
    
    ' 현재 활성화된 시트에서 사용되는 데이터의 범위를 dataRange 변수에 할당합니다.
    Set dataRange = ActiveSheet.UsedRange
    
    ' 데이터 영역의 마지막 행을 계산합니다
    lastRow = dataRange.Row + dataRange.Rows.Count - 1
    
    ' A:D 열에 대한 범위를 설정합니다
    Set highlightRange = Range("A" & dataRange.Row & ":D" & lastRow)
    
    ' 데이터 영역의 첫 번째 행을 제외하고 반복합니다
    For rowIndex = dataRange.Row + 1 To lastRow
    
        ' C열(3번째 열)에 "Condiments" 값이 있으면 배경색을 변경합니다.
        If Cells(rowIndex, 3).Value = "Condiments" Then
        
            ' ColorIndex = 6은 노란색을 의미
            highlightRange.Rows(rowIndex).Interior.ColorIndex = 6
            
        Else
        End If
        
    Next rowIndex
    
End Sub

매크로 실행 전

매크로 실행 후

'Range object' 카테고리의 다른 글

[Range 개체] Column속성  (0) 2023.07.07
[Range 개체] EntireRow속성  (0) 2023.07.06
[Range 개체] Row속성  (0) 2023.07.05
[Range개체] Address속성  (0) 2023.07.04
[Range 개체] Find메서드  (0) 2023.07.04