앞의 편에 이어서 코드를 분석하도록 하겠습니다.
이중 변수에 초점을 맞추고 설명하도록 하겠습니다.
Sub 데이터추출()
Dim 반복변수, 추출값변수 As Integer
For 반복변수 = 0 To Sheet1.Range("B1")
If Sheet1.Range("A2").Offset(반복변수, 0) = Sheet1.Range("H1") Then
Sheet1.Range("F2").Offset(추출값변수, 0) = Sheet1.Range("C2").Offset(반복변수, 0)
추출값변수 = 추출값변수 + 1
End If
Next
End Sub
위의 코드에서 [Dim 반복변수, 추출값변수 As Integer] 이 부분이 바로 변수를 선언하는 것입니다.
말이 조금 어렵지요.
쉽게 설명하면 방을 만들어 주는 것입니다.
저는 [반복변수] 라는 방과 [추출값변수] 라는 방을 만들어 준것입니다.
이 방은 왜 만든 것일까요?
바로 필요한 값을 넣어주기 위해서입니다.
만약에 A+B 의 값을 컴퓨터에게 물어보려면 어떻게 해야할까요.
가장먼저 A와 B를 만들어줘야겠지요.
이 A와 B가 바로 변수 입니다.
VBA에는 사실 수 없이 많은 변수가 존재합니다.
바로 A1, A2, ... 등등 수없이 많은 셀 들이죠. 셀 하나하나도 변수와 같습니다.
그곳에 하나의 값이 들어가서 컴퓨터에게 정보를 전달하고 있기 때문이죠.
엑셀 시트에서 묻는다면
A1 셀 + A2 셀 = ? 이라면
VBA에서는 먼저 [변수1]과 [변수2]를 만들어 주고
변수1 + 변수2 = ? 이라고 묻게 되는거죠.
Dim 반복변수, 추출값변수 As Integer
그렇다면 이 코드는 결국
[Dim] -> 변수를 만들어 주세요.
반복변수, 추출값변수 -> 이런 이름의 변수를 만들어 주세요.
As Integer -> int값만 들어갈 수 있도록요.
여기서 또 모르는 것이 나왔습니다.
바로 As Integer 입니다. 변수의 형식을 정해주는 것입니다.
엑셀의 셀은 모든 종류의 값을 가질 수 있지만
VBA의 변수는 사용자가 정해주는 대로 지정될 수 있습니다.
변수도 다양한 종류가 있습니다.
문자열 형식인 String 날짜 형식인 Date 셀의 위치 형식인 Range 등 다양한 종류가 있습니다.
그럼 저 변수들은 왜 만든 걸까요. 다음에 For ... Next 구문을 설명하면서 마저 설명하겠습니다.
'엑셀관련 > vba' 카테고리의 다른 글
[EXCEL/엑셀 VBA]for 구문 사용법 (0) | 2017.01.18 |
---|---|
[EXCEL/엑셀 VBA]데이터 추출_기본코드 (0) | 2016.12.20 |
[EXCEL/엑셀 VBA]상대 참조로 기록 (0) | 2016.12.13 |
[EXCEL/엑셀 VBA]VBE창 다루기와 단축키 (0) | 2016.12.12 |
[EXCEL/엑셀 VBA] 매크로기록 (0) | 2016.12.12 |