VBA 셀 값 – 가져오기, 설정하기 또는 변경하기
In this Article
이 튜토리얼에서는 VBA에서 셀 값을 취급하는 방법에 대해 설명합니다.
셀 값 설정하기
셀 값을 설정하기 위해서는 범위 또는 셀 개체의 Value 속성을 사용합니다.
Range.Value & Cells.Value
VBA에서 셀을 참조하는 방법에는 두 가지가 있습니다:
- 범위 개체 – Range(“A2”).Value
- 셀 개체 – Cells(2,1).Value
Range 개체를 사용하면 표준 “A1” 표기법을 사용하여 셀을 참조할 수 있습니다.
아래와 같이 설정하면 A2의 값이 1로 설정됩니다:
Range("A2").Value = 1
셀 개체를 사용하면 셀의 행 번호와 열 번호로 셀을 참조할 수 있습니다.
아래와 같이 설정하면 A2의 값이 1로 설정됩니다:
Cells(2,1).Value = 1
행 번호를 먼저 입력하셔야 합니다:
Cells(행_번호, 열_번호)
여러 셀의 값을 한 번에 설정하기
단일 셀을 참조하는 대신 여러 셀 범위를 참조하여 모든 셀 값을 한 번에 변경할 수 있습니다:
Range("A2:A5").Value = 1
셀 값 설정하기 – 텍스트
위의 예에서는 셀 값을 숫자(1)로 설정했습니다. 셀 값을 텍스트 문자열로도 설정할 수 있습니다. VBA에서 모든 텍스트는 따옴표로 묶어야 합니다:
Range("A2").Value = "Text"
텍스트를 따옴표로 묶지 않으면 VBA는 변수를 참조하는 것으로 간주합니다.
셀 값 설정하기 – 변수
셀 값을 변수와 동일하게 설정할 수도 있습니다.
Dim strText as String
strText = "String of Text"
Range("A2").Value = strText
셀 값 가져오기
위에서 사용한 것과 동일한 Value 속성을 사용하여 셀 값을 가져올 수 있습니다.
활성화된 셀 값 가져오기
활성화된 셀 값을 가져와 메시지 상자에 표시합니다:
MsgBox ActiveCell.Value
변수에 셀 값 할당하기
셀 값을 가져와 변수에 할당하려면 다음과 같이 하세요:
Dim var as Variant
var = Range("A1").Value
여기서는 Variant 유형의 변수를 사용했습니다. Variant 변수는 모든 유형의 값을 수용할 수 있습니다. 대안으로 String 변수 유형을 사용할 수도 있습니다:
Dim var as String
var = Range("A1").Value
String 변수 유형은 숫자 값도 허용하지만 숫자를 텍스트로 저장합니다.
셀 값이 숫자라는 것을 알고 있는 경우 Double 변수 유형을 사용할 수 있습니다(Double 변수는 소수점 값을 저장할 수 있음):
Dim var as Double
var = Range("A1").Value
하지만 텍스트가 포함된 셀 값을 이중 변수에 저장하려고 하면 유형 불일치 오류가 발생합니다:
기타 셀 값 관련 예제
셀 값 복사하기
셀 값을 다른 셀 값과 동일하게 설정(또는 셀 값을 “복사”)하는 것은 간단합니다:
Range("A1").Value = Range("B1").Value
범위에서도 이 작업을 수행할 수 있습니다(범위는 동일한 크기여야 함):
Range("A1:A5").Value = Range("B1:B5").Value
셀 값 비교
표준 비교 연산자를 사용하여 셀 값을 비교할 수 있습니다.
아래 예시를 통해 셀 값이 동일한지 테스트 해볼수 있습니다:
MsgBox Range("A1").Value = Range("B1").Value
셀 값이 같으면 TRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.
셀 값을 비교하는 If 문을 만들 수도 있습니다:
If Range("A1").Value > Range("B1").Value Then
Range("C1").Value = "크다"
Elseif Range("A1").Value = Range("B1").Value Then
Range("C1").Value = "같다"
Else
Range("C1").Value = "작다"
End If
같은 방법으로 텍스트를 비교할 수 있습니다(VBA는 대소문자를 구분합니다).