VBA에서 셀의 수식 설정

Iqra Hasnain 2024년2월15일
  1. VBA에서 셀의 수식 설정
  2. VBA의 셀 주소
  3. VBA에서 셀 범위 선택
  4. VBA에서 셀에 쓰기
  5. VBA의 셀에서 읽기
  6. VBA에서 셀 교차
  7. VBA에서 비연속 셀의 값 바꾸기
  8. VBA의 셀에서 오프셋
  9. VBA에서 셀 주소 참조
  10. VBA에 모든 셀 포함
  11. VBA에서 셀 속성 변경
  12. VBA에서 마지막 셀 찾기
  13. VBA의 열에 사용된 마지막 셀 찾기
  14. VBA에서 행에 사용된 마지막 셀 찾기
  15. VBA에서 셀 값 복사-붙여넣기
VBA에서 셀의 수식 설정

예제를 통해 다양한 작업을 수행하기 위해 VBA에서 수행할 수 있는 다양한 셀 기능을 소개합니다.

VBA에서 셀의 수식 설정

Excel의 워크시트에는 데이터 저장을 위한 셀이 포함되어 있습니다. 이러한 셀은 워크시트에서 행과 열을 형성하도록 배열됩니다.

VBA 코딩을 위해 Excel 워크시트의 셀을 포함하는 동안 하나 이상의 셀을 포함하는 범위를 사용합니다. VBA 셀과 관련된 일부 필수 기능은 다음과 같습니다.

  • 셀 주소
  • 셀 범위
  • 세포에 쓰기
  • 세포에서 읽기
  • 교차 셀
  • 비연속 셀
  • 셀에서 오프셋
  • 셀 주소 참조
  • 모든 세포 포함
  • 셀 속성 변경
  • 마지막 셀 찾기
  • 열에서 사용된 마지막 행 번호 찾기
  • 행에서 사용된 마지막 열 번호 찾기
  • 셀 복사 붙여넣기

VBA의 셀 주소

A1 표기법을 통해 셀의 주소를 식별할 수 있는데, 여기에는 열 문자의 이름을 포함하고 셀의 행 번호를 씁니다. VBA에서는 범위 개체를 포함할 수 있습니다.

아래와 같이 B4 셀을 참조하겠습니다.

# vba
MsgBox Range("B4")

출력:

VBA에서 셀 값 가져오기

아래와 같이 다른 워크시트의 셀을 참조하고자 할 경우 시트를 호출하고 셀을 가져와서 쉽게 호출할 수 있습니다.

# vba
MsgBox Worksheets("Sheet2").Range("B4")

출력:

VBA의 다른 시트에서 셀 값 가져오기

아래와 같이 다른 통합 문서를 열고 해당 통합 문서에서 워크시트를 선택하여 원하는 셀의 값을 가져올 수도 있습니다.

# vba
MsgBox Workbooks("My WorkBook").Worksheets("Sheet2").Range("B2")

셀 주소를 쓰는 또 다른 방법은 문자 R과 행 번호를 사용하는 것입니다. 다음으로 문자 C와 셀의 열 번호를 씁니다.

이 방법을 R1C1 표기법이라고 합니다. 아래와 같이 예제에서 이 표기법을 사용하겠습니다.

#vba
Sub callIt()

Cells(4, 2) = "Added"

End Sub

출력:

VBA에서 R1C1 표기법을 사용하여 셀 값 변경

VBA에서 셀 범위 선택

아래 Range 함수에 범위 값을 제공하여 셀 범위를 선택할 수도 있습니다.

# vba
Range("A1:B13")

위의 함수를 사용하여 해당 범위에 있는 셀의 스타일을 변경할 수 있습니다. 아래와 같이 해당 범위에서 셀의 테두리 색상을 변경하는 예를 살펴보겠습니다.

# vba
Sub callIt()

Range("A1:B13").Borders.Color = RGB(255, 0, 255)

End Sub

출력:

범위 내 셀을 사용하여 테두리 색상 변경

위의 예제에서 볼 수 있듯이 셀의 값을 제공함으로써 범위 기능을 사용하여 스타일을 쉽게 변경할 수 있습니다.

VBA에서 셀에 쓰기

특정 셀에 값을 편집하거나 추가하려는 시나리오가 많이 있습니다. VBA를 사용하면 셀 값을 바꾸거나 셀 값을 추가하는 것이 매우 쉽습니다. range() 함수를 사용할 수 있습니다.

그런 다음 range() 함수를 사용하여 값을 추가하고 변경해 보겠습니다.

# vba
Sub callIt()

Range("B4") = "Value Added"

End Sub

값이 추가되면 값을 변경합니다. 그리고 아래와 같이 동일한 셀을 교체해보도록 하겠습니다.

# vba
Sub callIt()

Range("B4") = "Value Changed"

End Sub

출력:

VBA를 사용하여 셀 값 추가 및 변경

동일한 기능을 수행하기 위해 Cells 방법을 사용할 수도 있습니다.

# vba
Sub callIt()

Cells(4, 2) = "Value"

End Sub

출력:

VBA에서 셀 방법을 사용하여 셀 값 추가 및 변경을 사용하여 셀 값 추가 및 변경

값의 범위를 저장하려면 간단한 변수를 사용하는 것보다 배열을 사용하는 것이 좋습니다.

VBA의 셀에서 읽기

셀에서 값을 읽으려면 2개의 함수를 사용할 수 있습니다. 하나는 범위이고 다른 하나는 입니다. 셀의 주소를 호출하면 해당 값을 얻을 수 있습니다.

MsgBox 메서드를 사용하여 값을 표시할 수 있습니다. 예제를 살펴보고 먼저 Cells 메서드를 사용하여 B4의 값을 가져옵니다.

# vba
Sub callIt()

cellValue = Cells(4, 2)

MsgBox (cellValue)

End Sub

출력:

VBA에서 셀 방법을 사용하여 셀에서 값 읽기

아래의 range() 메서드를 사용하여 동일한 결과를 얻으려고 합니다.

# vba
Sub callIt()

cellValue = Range("B4")

MsgBox (cellValue)

End Sub

출력:

VBA에서 범위 방법을 사용하여 셀에서 값 읽기

위의 예제에서 알 수 있듯이 이 두 함수를 사용하면 셀의 값을 읽는 것이 매우 쉽습니다.

VBA에서 셀 교차

Excel 시트에 대한 수식을 만들기 위해 VBA에서 작업하는 동안 두 범위의 교차점을 찾아 특정 작업을 수행해야 할 수 있습니다. 또는 이 두 범위의 교차점에 특정 값을 배치하려고 합니다.

교차 프로세스를 위해 셀 주소와 VBA 사이에 공백이 사용됩니다.

아래와 같이 범위 셀에 값을 추가하는 예를 통해 두 범위 간에 공통적으로 적용됩니다.

# vba
Sub callIt()

Range("A1:B10 B1:C10") = "Common Cells"

End Sub

출력:

VBA에서 2개의 범위를 사용하여 셀 교차

위의 예에서 볼 수 있듯이 두 범위 사이에서 교차하는 셀 사이의 값을 쉽게 추가하거나 바꿀 수 있습니다.

VBA에서 비연속 셀의 값 바꾸기

인접하지 않은 셀의 값을 바꿔야 하는 상황이 있을 수 있습니다. 여러 셀 또는 단일 셀에 대한 범위를 사용하여 쉽게 수행할 수 있습니다.

인접하지 않은 셀의 경우 서로 다른 셀 주소 사이에 쉼표(,)를 입력하십시오. 아래와 같이 특정 셀의 값을 교체하는 예제를 살펴보겠습니다.

# vba
Sub callIt()

Range("A2,C3,B5") = 10

End Sub

출력:

VBA의 비연속 셀 값 변경

이제 아래와 같이 인접하지 않은 단일 셀의 값을 변경해 보겠습니다.

# vba
Sub callIt()

Cells(5, 2) = "Hello"

End Sub

출력:

VBA에서 연속되지 않은 단일 셀의 값 변경

VBA의 셀에서 오프셋

Excel 시트로 VBA에서 작업하는 동안 일부 오프셋 셀 값을 가져오거나 하나의 셀 주소를 기반으로 셀 값을 대체하려는 참조 셀이 있을 수 있는 상황이 있을 수 있습니다.

오프셋 방법을 사용하여 이 시나리오를 원활하게 달성할 수 있습니다.

아래와 같이 range 메소드를 사용하여 1 열과 1 행을 이동하기 위해 이 함수를 사용하는 예제를 살펴보겠습니다.

# vba
Sub callIt()

Range("A1").Offset(1, 1) = "A1"

End Sub

출력:

VBA의 범위에서 오프셋 방법을 사용하여 값 추가

이제 아래 Cells 방법을 사용하여 동일한 시나리오를 시도하십시오.

# vba
Sub callIt()

Cells(1, 1).Offset(0, 0) = "A1"

End Sub

출력:

VBA의 셀에서 오프셋 방법을 사용하여 값 추가

이제 범위의 오프셋 값을 기반으로 여러 셀에 값을 추가하려는 경우 아래와 같이 할 수 있습니다.

# vba
Sub callIt()

Range("A1:B13").Offset(4, 2) = "Completed"

End Sub

출력:

VBA의 셀에서 오프셋 방법을 사용하여 범위에 값 추가

VBA에서 셀 주소 참조

이제 셀의 주소를 얻으려면 Address 기능을 사용하여 빠르게 가져올 수 있습니다. 아래와 같이 특정 셀의 주소를 가져오는 예제를 살펴보겠습니다.

# vba
Sub callIt()

Set cell = Cells(2, 4)

MsgBox cell.Address

End Sub

출력:

VBA에서 셀 주소 가져오기

위의 예에서 볼 수 있듯이 VBA에서 address 메소드를 사용하여 모든 셀의 주소를 쉽게 얻을 수 있습니다.

VBA에 모든 셀 포함

모든 셀에서 모든 데이터를 지우고 싶은 상황이 있을 수 있습니다. 이 시나리오에서는 아래와 같이 다음 코드를 작성할 수 있습니다.

# vba
Sub callIt()

Cells.Clear

End Sub

출력:

VBA의 모든 셀 지우기

위의 예에서 볼 수 있듯이 우리는 쉽게

VBA에서 셀 속성 변경

특정 세포의 속성을 변경해야 하는 상황이 있을 수 있습니다. VBA는 셀의 속성을 쉽게 변경할 수 있는 방법을 제공합니다.

아래와 같이 글꼴 색상을 변경하는 예제를 살펴보겠습니다.

# vba
Sub callIt()

Set NewCell = Range("A1")

NewCell.Activate

NewCell.Font.Color = RGB(255, 0, 0)

End Sub

출력:

VBA를 사용하여 글꼴 색상 변경

이제 아래와 같이 셀의 글꼴 모음과 글꼴 크기를 변경해 보겠습니다.

# vba
Sub callIt()

Set cell = Range("A1")

cell.Activate

cell.Font.Size = 20
cell.Font.FontStyle = "Courier"

End Sub

출력:

VBA에 의해 변경된 글꼴 크기 및 글꼴 스타일

VBA에서 마지막 셀 찾기

열이나 행의 마지막 셀을 찾아야 하는 상황이 있을 수 있습니다. VBA에서 Row.countColumn.count를 사용하여 Excel 워크시트의 마지막 행을 찾을 수 있습니다.

아래와 같이 예제를 통해 행과 열에서 마지막 셀을 찾아봅시다.

# vba
Sub callIt()

MsgBox ("Last cell row wise in the sheet: " & Rows.Count)

MsgBox ("Last cell column wise in the sheet: " & Columns.Count)

End Sub

출력:

VBA의 열과 행에서 마지막 셀 찾기

위의 예에서 볼 수 있듯이 간단한 함수 count를 사용하여 행 또는 열의 마지막 셀을 찾는 것이 매우 쉽습니다.

VBA의 열에 사용된 마지막 셀 찾기

저장하고 있는 데이터의 수를 파악하기 위해 열에서 사용한 마지막 셀을 알고 싶은 상황이 있을 수 있습니다.

아래와 같이 예제를 통해 특정 열에서 차지하는 마지막 셀을 찾아보겠습니다.

# vba
Sub callIt()

MsgBox (Cells(Rows.Count, "B").End(xlUp).Row)

End Sub

출력:

VBA에서 사용된 열에서 마지막 셀 찾기

위의 예에서 볼 수 있듯이 100% 정확도로 사용된 마지막 셀을 찾을 수 있습니다. VBA는 이러한 것들을 정확하게 찾고 데이터를 잃지 않는 가장 좋은 방법입니다.

VBA에서 행에 사용된 마지막 셀 찾기

저장하고 있는 데이터의 수를 파악하기 위해 행에서 사용한 마지막 셀을 알고 싶은 상황이 있을 수 있습니다.

아래와 같이 예제를 통해 특정 행에 있는 마지막 셀을 찾아보겠습니다.

# vba
Sub callIt()

MsgBox (Cells(9, Columns.Count).End(xlToLeft).Column)

End Sub

출력:

VBA에서 사용된 행에서 마지막 셀 찾기

위의 예에서 볼 수 있듯이 100% 정확도로 사용된 마지막 셀을 찾을 수 있습니다. VBA는 이러한 것들을 정확하게 찾고 데이터를 잃지 않는 가장 좋은 방법입니다.

VBA에서 셀 값 복사-붙여넣기

한 셀에서 다른 셀로 특정 값을 복사하여 붙여넣어야 하는 상황이 있을 수 있습니다. 또는 아래와 같이 VBA를 사용하여 한 시트에서 다른 시트로 복사하여 붙여넣을 수도 있습니다.

# vba
Sub callIt()

Worksheets("Sheet2").Range("A1:B13").Copy Destination:=Worksheets("Sheet1").Range("A1")

End Sub

출력:

VBA에 복사하여 붙여넣기

위의 예에서 볼 수 있듯이 셀을 사용하여 많은 작업을 수행할 수 있습니다.

관련 문장 - VBA Cell