Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

이 글에서는 Excel에서 변수 행 번호를 사용하여 VBA 범위를 다루는 방법을 소개합니다. VBA 범위를 활용해 셀 범위를 선택하고, 셀에 숫자를 입력하고, 셀 범위에 수학 연산을 수행하며, 셀에 색상을 입히는 방법까지 모두 변수 행 번호와 함께 익힐 수 있습니다.

VBA 코드 미리 보기: 변수 행 번호로 범위 설정하기

Sub Range_with_Variable_Row_Number()

First_Cell = InputBox("Enter the First Cell of the Range: ")
Row_Number = Str(Range(First_Cell).Row)

Number_of_Rows = InputBox("Enter the Total Number of Rows of the Range: ")

Set Rng = Range(First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10))

End Sub

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

⧭ 코드 설명:

  • 이 코드는 두 가지 입력을 받습니다. 범위의 첫 번째 셀(First_Cell)과 범위에 포함할 전체 행 수(Number_of_Rows)입니다.
  • 그런 다음 First_Cell부터 지정한 행 수만큼 이어지는 범위 개체 Rng를 생성합니다.
  • 예를 들어 First_CellB4이고 Number_of_Rows10이면, 결과로 생성되는 RngB4:B13입니다.
  • First_Cell에는 항상 상대 참조(Relative Cell Reference)를 사용해야 합니다. 절대 참조나 혼합 참조는 사용하지 마세요. ($B$4$B4 대신 B4처럼 입력)

변수 행 번호로 VBA 범위 활용하는 4가지 예제

여기서는 Jupyter Group이라는 회사 직원들의 이름급여 데이터 세트를 사용합니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

이제 이 데이터 세트를 대상으로 VBA를 활용해 변수 행 번호가 있는 범위를 다루는 방법을 살펴보겠습니다.

예제 1. VBA로 변수 행 번호의 범위 선택하기

먼저 VBA 매크로를 만들어 변수 행 번호가 있는 범위를 선택해 보겠습니다.

여기서는 첫 번째부터 다섯 번째 직원까지 총 5명의 이름을 선택해 보겠습니다.

아래 VBA 코드를 사용하면 됩니다.

⧭ VBA 코드:

Sub Select_Range()

First_Cell = InputBox("Enter the First Cell to Select: ")
Row_Number = Str(Range(First_Cell).Row)

Number_of_Rows = InputBox("Enter the Number of Rows to Select: ")

Rng = First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10)

Range(Rng).Select

End Sub

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

⧭ 실행 결과:

매크로(Select_Range)를 실행하면 두 개의 입력 상자가 나타납니다.

첫 번째 상자에서는 선택할 범위의 시작 셀을 입력하라고 요청합니다. 여기서는 첫 번째 직원이 있는 셀인 B4를 입력합니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

확인(OK)을 클릭하면 두 번째 입력 상자가 나타나며, 선택할 행 수를 묻습니다. 여기서는 5를 입력합니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

다시 확인(OK)을 클릭하면 데이터 세트에서 첫 5명 직원의 이름이 선택됩니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

예제 2. 변수 행 번호의 범위에 숫자 입력하기

VBA를 사용하면 변수 행 번호가 있는 범위에 숫자를 입력할 수도 있습니다.

고정된 숫자뿐만 아니라 연속된 숫자 시리즈도 입력 가능합니다.

이번에는 첫 5명 직원에게 1부터 5까지 번호를 매겨 보겠습니다. 즉, 첫 5명 직원 이름 왼쪽 열(A4:A8)에 1~5의 숫자를 삽입하는 것입니다.

다음 VBA 코드를 사용하세요.

⧭ VBA 코드:

Sub Insert_Numbers()

First_Cell = InputBox("Enter the First Cell to Insert Number: ")
Row_Number = Str(Range(First_Cell).Row)

Number_of_Rows = InputBox("Enter the Total Number of Rows to Insert Numbers: ")

Set Rng = Range(First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10))

Series_or_Fixed = Int(InputBox("Enter 1 to Enter a Series of Numbers: " + vbNewLine + vbNewLine + "OR" + vbNewLine + vbNewLine + "Enter 2 to Enter a Fixed Number: "))

If Series_or_Fixed = 1 Then

    First_Number = Int(InputBox("Enter the First Number: "))
    Increment = Int(InputBox("Enter the Increment: "))
    For i = 1 To Rng.Rows.Count
        Rng.Cells(i, 1) = First_Number + (i - 1) * Increment
    Next i

ElseIf Series_or_Fixed = 2 Then
    Number = Int(InputBox("Enter the Fixed Number: "))
    For i = 1 To Rng.Rows.Count
        Rng.Cells(i, 1) = Number
    Next i

End If

End Sub

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

⧭ 실행 결과:

매크로(Insert_Numbers)를 실행하면 여러 개의 입력 상자가 차례로 나타납니다.

첫 번째 상자에서는 숫자를 입력할 시작 셀을 요청합니다. 여기서는 A4를 입력합니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

확인(OK)을 클릭하면 두 번째 상자가 나타나고, 숫자를 입력할 전체 행 수를 묻습니다. 여기서는 5를 입력합니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

세 번째 상자에서는 숫자 시리즈를 넣을지 고정 숫자를 넣을지 선택합니다.

시리즈를 원하면 1, 고정 숫자를 원하면 2를 입력하세요.

여기서는 시리즈를 원하므로 1을 입력했습니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

네 번째 상자에서는 시리즈의 시작 숫자를 입력합니다. 1~5 시리즈를 만들 것이므로 1을 입력했습니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

마지막 상자에서는 증가값(increment)을 입력합니다. 1, 2, 3, 4, 5 시리즈라면 증가값은 1입니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

확인(OK)을 클릭하면 A4:A8 범위에 1부터 5까지의 숫자가 입력됩니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

함께 읽으면 좋은 글:

  • Excel에서 열 번호 기준으로 VBA 범위 사용하기 (4가지 방법)
  • 셀 값 기준으로 VBA 범위 선택하기 (7가지 방법)
  • Excel에서 VBA Range 개체 활용하기 (5가지 속성)
  • Excel에서 VBA로 범위 설정하기 (7가지 예제)
  • VBA로 Excel 행 번호 찾기 (4가지 매크로)

예제 3. 변수 행 번호의 범위에 수학 연산 수행하기

다음으로, 변수 행 번호가 있는 범위에 수학 연산을 적용하는 매크로를 만들어 보겠습니다.

예를 들어 Jupyter Group의 사장이 첫 5명 직원의 급여를 각각 10,000달러씩 인상하고 싶어 한다고 가정해 봅시다.

이 목적을 달성하기 위한 매크로를 만들겠습니다.

아래 VBA 코드를 사용하세요.

⧭ VBA 코드:

Sub Mathematical_Operation()

First_Cell = InputBox("Enter the First Cell to Perform Operation: ")
Row_Number = Str(Range(First_Cell).Row)

Number_of_Rows = InputBox("Enter the Total Number of Rows to Perform Operation: ")

Set Rng = Range(First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10))

Operation = Int(InputBox("Enter the Operation to Perform: " + vbNewLine + "Enter 1 for Addition: " + vbNewLine + "Enter 2 for Subtraction: " + vbNewLine + "Enter 3 for Multiplication: " + vbNewLine + "Enter 4 for Division: "))

Operations = Array("Add", "Subtract", "Multiply", "Divide")

Number = Int(InputBox("Enter the Number to " + Operations(Operation - 1) + ": "))

For i = 1 To Rng.Rows.Count

    If Operation = 1 Then
        Rng.Cells(i, 1) = Rng.Cells(i, 1).Value + Number
    End If

    If Operation = 2 Then
        Rng.Cells(i, 1) = Rng.Cells(i, 1).Value - Number
    End If

    If Operation = 3 Then
        Rng.Cells(i, 1) = Rng.Cells(i, 1).Value * Number
    End If

    If Operation = 4 Then
        Rng.Cells(i, 1) = Rng.Cells(i, 1).Value / Number
    End If

Next i

End Sub

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

⧭ 실행 결과:

매크로(Mathematical_Operation)를 실행하면 4개의 입력 상자가 나타납니다.

첫 번째 상자에서는 평소와 같이 연산을 시작할 첫 번째 셀을 입력합니다. 이 예제에서는 첫 번째 직원의 급여가 있는 셀 C4입니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

두 번째 상자에서는 연산을 적용할 전체 행 수를 입력합니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

세 번째 상자에서는 수행할 연산 종류를 선택합니다.

  • 덧셈은 1
  • 뺄셈은 2
  • 곱셈은 3
  • 나눗셈은 4

여기서는 덧셈을 원하므로 1을 입력했습니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

마지막으로 네 번째 상자에서는 더할 숫자를 입력합니다. 여기서는 10000을 입력했습니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

확인(OK)을 클릭하면 첫 5명 직원의 급여가 각각 10,000달러씩 인상된 것을 확인할 수 있습니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

예제 4. 변수 행 번호의 범위에 색상 적용하기

마지막으로, 변수 행 번호가 있는 범위의 셀에 색상을 입히는 매크로를 만들어 보겠습니다.

첫 5명 직원의 이름 셀에 노란색 배경을 적용해 보겠습니다.

다음 VBA 코드를 사용하세요.

⧭ VBA 코드:

Sub Color_Range()

First_Cell = InputBox("Enter the First Cell to Color: ")
Row_Number = Str(Range(First_Cell).Row)

Number_of_Rows = InputBox("Enter the Total Number of Rows to Color: ")

Set Rng = Range(First_Cell & ":" & Mid(First_Cell, 1, Len(First_Cell) - Len(Row_Number) + 1) & Mid(Str(Int(Number_of_Rows) + Int(Row_Number) - 1), 2, 10))

Color_Code = Int(InputBox("Enter the Color Code: " + vbNewLine + "Enter 3 for Color Red." + vbNewLine + "Enter 5 for Color Blue." + vbNewLine + "Enter 6 for Color Yellow." + vbNewLine + "Enter 10 for Color Green."))

Background_or_Text = Int(InputBox("Enter 1 to Color the Whole Background of the Cells: " + vbNewLine + vbNewLine + "Or" + vbNewLine + vbNewLine + "Enter 2 to Color Only the Texts: "))

For i = 1 To Rng.Rows.Count

    If Background_or_Text = 1 Then
        Rng(i, 1).Interior.ColorIndex = Color_Code
    ElseIf Background_or_Text = 2 Then
        Rng.Cells(i, 1).Characters(1, Len(Rng.Cells(i, 1))).Font.ColorIndex = Color_Code
    End If

Next i

End Sub

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

⧭ 실행 결과:

매크로(Color_Range)를 실행하면 4개의 입력 상자가 나타납니다.

첫 번째 상자에서는 색상을 적용할 시작 셀을 입력합니다. 여기서는 첫 번째 직원이 있는 셀 B4입니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

두 번째 상자에서는 색상을 적용할 전체 행 수를 입력합니다. 여기서는 5입니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

세 번째 상자에서는 색상을 선택합니다. Microsoft 색상 코드(Color Index)에 따라 원하는 색상 번호를 입력하세요.

여기서는 노란색을 위해 6을 입력했습니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

마지막 상자에서는 셀 전체 배경에 색을 입을지 텍스트에만 색을 입을지 선택합니다.

여기서는 1(전체 배경)을 입력했습니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

확인(OK)을 클릭하면 첫 5명 직원의 이름 배경 전체가 노란색으로 강조됩니다.

Excel에서 변수 행 번호로 VBA 범위 활용하기 (실전 예제 4가지)

마무리

지금까지 소개한 방법들을 활용하면 Excel에서 변수 행 번호가 있는 VBA 범위를 자유롭게 다룰 수 있습니다. 궁금한 점이 있다면 언제든지 문의해 주세요.

함께 읽으면 좋은 관련 글

  • VBA Range Offset 사용법 (11가지 방법)
  • Excel에서 범위 내 각 셀에 대한 VBA For Each 활용법 (3가지 방법)
  • Excel VBA로 범위의 각 셀 순회하기 (완벽 가이드)
  • Excel VBA로 다른 시트에 범위 복사하기 (가장 쉬운 8가지 방법)
  • Excel VBA: 열에서 문자열 찾고 행 번호 반환하기
  • Excel 수식에서 행 번호 증가시키기 (유용한 6가지 방법)