학습(공부)하는 블로그 :: 17. 프로그래밍 문법 알아보기
 

 
반응형
블로그 이미지
주로 인재개발원 등의 사이버학습을 정리, 요약하는 상시학습 블로그입니다. 깨비형
« 2025/4 »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

Archive»


Notice»

Recent Post»

Recent Comment»

Recent Trackback»

04-08 20:31

반응형

 

1. 변수 선언 및 데이터 형식

 

1) 변수 및 상수

○ 변수 :  프로그램 실행 중 변하는 값을 저장할 수 있는 컴퓨터의 메모리 공간

○ 상수 :  변수처럼 변하는 값이 아닌 항상 같은 값을 저장하는 공간

 

2) 변수(상수) 선언

○ 변수나 상수를 사용하려면 미리 코딩 창의 Sub Procedure나 모듈 상단에 사용할 변수나 상수를 선언해 놓아야 함

○ 선언 형식

키워드 변수(상수)명 As 데이터 형식

- 키워드 : Dim, Public, Private 등으로 지정 가능

- 변수(상수명) : 첫 문자는 반드시 영어 또는 한글(공백, 마침표, !, @, &, $, #, % 특수문자 사용불가)

-Ÿ 데이터 형식 : 생략 시, 모든 형식의 데이터를 저장할 수 있는 Variant 데이터 형식이 자동으로 지정

 

3) 변수 선언에 필요한 키워드

① Dim

- Dim은 변수를 프로시저 내부나 모듈부에 선언 가능

- 선언된 위치에 따라 해당 변수를 사용할 수 있는 범위가 달라짐

② Private, Public

- 모듈부에만 선언 가능

- Private : 해당 모듈의 전체 프로시저에서 사용 가능하나, 다른 모듈에서는 사용불가

- Public : 전체 모듈의 모든 프로시저에서 사용 가능

 

※ 다양한 데이터 형식의 의미

 

 데이터 형식 크기
(Byte) 
범위 
논리 Boolean 2  True, False
숫자 Byte  0~255 
Integer -32,768~32,767 
Long -2,147,438,648~2,147,438,648 
Currency  -922,337,203,685,477.5808~922,337,203,685,477.5808
Decimal 12  +/-79,228,162,514,264,337,593,543,950,335 (소수점 이하가 없는 경우)
+/-7.9228162514264337593543950335 (소수점 아래 28자리)
+/-0.0000000000000000000000000001(0이하 가장 작은 수)
Single  -3.402823E38~-1.401298E-45(음수의 경우)
1.401298E-45~3.402823E38(양수의 경우)
Double -1.79769313486232E308~-4.94065645841247E-324(음수)
4.94065645841247E-324~1.79769313486232E308(양수) 
날짜  Date 100년 1월 1일 ~ 9999년 12월 31일 
문자  String(가변 길이)  10 0 ~ 20억 개 
String(고정 길이)  문자열
길이
1~65536개 
개체  Object  
모두  Variant(문자열) 22  String(가변 길이) 데이터 형식과 동일 
Variant(숫자) 16  Double 형 범위 내의 모든 숫자 

 

※ 변수 선언 예

 

 Dim i As Integer  ‘i’라는 이름의 정수를 저장하는 변수 선언
 Private 계약일 As Date  해당 모듈의 모든 프로시저에서 사용할 수 있는 ‘계약일’ 이라는 이름의 날짜를 저장하는 변수 선언
 Public 매출액 As Double  모든 모듈의 프로시저에서 사용할 수 있는 ‘매출액’이라는 이름의 숫자를 저장하는 변수 선언 
 Const 할인율 As Single  ‘할인율’ 이라는 이름의 숫자를 저장하는 상수 선언
 Dim 교통비  Dim 교통비 As Variant 와 같은 의미로 모든 데이터 형식을 저장할 수 있는 ‘교통비’라는 이름의 변수 선언

 

 

4) 변수와 상수에 값 할당

 

① 변수 값 할당 형식

변수 명 = 할당할 값

 

▷ 예시

Dim i As Integer

i =1

i = Activesheet.Range(“A1”).Value

 

② 상수 값 할당 형식

Const 상수 명 As Single = 할당할 값

 

5) 개체 변수

○ 변수에 값이 아닌 개체(셀 범위, 워크시트, 차트 등)를 할당

 

① 개체 변수 값 할당 형식

Dim 변수명 As 개체

Set 변수명 = 개체

 

▷ 예시(1)

Dim 매출실적 As Range

Set 매출실적 = Activesheet.Range(“A1:E50”)

▷ 예시(2)

Dim Sh1 As Worksheet

Set Sh1 =Worksheets(“실적관리”)

 

6) 변수의 수명

○ 프로시저 실행 시작 → 초기화, 프로시저 종료 → 값을 상실함

○ Static 키워드 : 프로시저를 실행해도 변수 값이 초기화되지 않음

 

7) 시스템 상수 (내장 상수)

○ 사용자가 선언하여 사용하는 상수 이외에 VBA와 엑셀에 미리 정의되어 있는 상수

○ VBA 상수 : 상수 앞에 ‘vb', 엑셀 개체 상수 :‘xl’가 표시됨

▷ 예) VBA에서 파랑색 사용 : vbBlue, 왼쪽 맞춤 지정 : xlLeft

 

MsgBox의 구성 인수

▷ Prompt : 메시지 박스에 표시할 메시지입력

 Button Type : 메시지 박스에 표시할 버튼의 종류

▷ Title : 메시지 박스의 제목 표시줄에 표시할 텍스트

▷ Help File : 도움말 단추를 누를 때 표시할 도움말 파일 세부주소를 명시하는 곳

 Context : 도움말 파일의 연결할 항목 내용 번호

 

② Button Type 에 사용되는 상수 값

 

 

2. 조건문

 

1) 조건문 이란?

 지정한 조건에 만족할 때와 그렇지 않을 때, 반환하는 결과를 다르게 설정할 때 사용하는 명령문

예) 조건 : [지역] = ‘서울’

        참 : 교통비 ‘5만원’ 지급

     거짓 : 교통비 ‘10만원’ 지급

 

① IF문

 IF 문은 가장 기본적인 조건문으로 가장 많이 사용되며, 3가지 형식으로 사용 가능

 

가. 조건이 만족할 때만 실행

IF 조건식 Then

    조건식을 판단한 결과가 TRUE일 때 실행할 실행문

End If

 

예) 평균이 80 이상이면 ‘합격’ 출력

 Sub 합격여부1()

Sheet("조건문1").Select

If Range("e4").Value >= 80 Then
    Range("f4").Value = "합격"
End If

End Sub

 

나. 조건에 만족할 때와 조건에 만족하지 않을 때 다르게 실행

IF 조건식 Then

    조건식을 판단한 결과가 TRUE일 때 실행할 실행문

Else

    조건식을 판단한 결과가 FALSE일 때 실행할 실행문

End If

 

 

예) 평균이 80 이상이면 ‘합격’ 그렇지 않으면 '불합격' 출력

 

Sub 합격여부2()


Sheet("조건문1").Select

If Range("e4").Value >= 80 Then
    Range("f4").Value = "합격"
Else
    Range("f4").Value = "불합격"
End If

End Sub

 

 

 

 

다. 2개 이상의 조건을 판단하여 각 조건의 판단 결과에 따라 다른 결과를 실행

IF 조건식1 Then

    조건식1의 판단 결과가 TRUE일 때 실행할 실행문

ElseIf 조건식2 Then

    조건식2의 판단 결과가 TRUE일 때 실행할 실행문

[ElseIf 문 조건식 만큼 반복]

Else

    지정한 조건식 모두를 만족하지 않았을 때 실행할 실행문

End If

 

예) 평균이 90 이상이면 ‘A’, 80점 이상이면, ‘B’, 70점 이상이면, ‘C’, 60점 이상이면, ‘D’, 나머지는 ‘F’ 표시

 

 Sub 학점1()

Sheet("조건문1").Select

If Range("e4").Value >=90 Then
    Range("g4").Value = "A"
ElseIf Range("e4").Value >=80 Then
    Range("g4").Value = "B"
ElseIf Range("e4").Value >=70 Then
    Range("g4").Value = "C"
ElseIf Range("e4").Value >=60 Then
    Range("g4").Value = "D"
Else
    Range("g4").Value = "F"
End If

End Sub

 

※  IF 문의 조건 연산자

○ IF 문에서 조건식을 지정할 때 And, Or, Not 연산자를 사용 가능하다. 

 AND : 지정한 조건을 모두 만족하는 경우를 판단함

 OR : 지정한 조건 중, 하나만 만족해도 되는 경우를 판단함

 NOT : 지정한 조건 아닌 경우를 판단함

 

 Select Case문

▷ 조건의 판단 결과에 따라 다른 동작을 수행하는 조건문 

 여러 개의 조건을 처리해야 하는 경우 더 적합함

 

가. Select Case 문의 형식

Select Case 식 (또는 변수)

    Case조건1

        조건1이 만족할 때 실행할 실행문

    Case조건2

        조건2가 만족할 때 실행할 실행문

    Case조건3

        조건3이 만족할 때 실행할 실행문

    [Case 조건 반복]

    Case Else

        지정한 조건이 모두 만족하지 않았을 때 실행할 실행문

End Select

 

예)  평균이 90 이상이면 ‘A’, 80점 이상이면, ‘B’, 70점 이상이면, ‘C’, 60점 이상이면, ‘D’, 나머지는 ‘F’ 표시

 

Sub 학점2()

Sheet("조건문2").Select
Select Case Range("e4")

    Case Is >= 90
        Range("g4") = "A"
    Case Is >= 80
        Range("g4") = "B"
    Case Is >= 70
        Range("g4") = "C"
    Case Is >= 60
        Range("g4") = "D"
    Case Else
        Range("g4") = "F"

End Select

End Sub

 

 

나. 조건을 지정하는 다양한 방법

▶ 숫자 값의 범위를 조건으로 지정하는 경우

- To 키워드를 사용

Select Case Range(“A1”).Value

    Case 1 To 10

        Msgbox “1~10 사이 값입니다.”

    Case11 To 20

        Msgbox “11~20 사이 값입니다.”

    CaseElse

        Msgbox “0~20 이외의 값입니다.”

End Select

▶ OR 조건을 지정하는 경우

- 조건에 쉼표(,) 사용

Select Case Range(“A1”).Value

    Case 1, 3, 5

        Msgbox “1, 3, 5 중 하나의 값입니다.”

Case 2, 4, 6

        Msgbox “2, 4, 6 중 하나의 값입니다.”

Case Else

        Msgbox “1,2,3,4,5,6 이외의 값입니다.”

End Select

▶ 비교 연산자를 사용하는 경우

- 연산자 앞에 Is 사용

Select Case Range(“A1”).Value

    Case Is >10

        Msgbox “10보다 큰 값입니다.”

Case Is <30

        Msgbox “30보다 작은 값입니다.”

Case Else

End Select

 

 

3. 반복문

 

1) 반복문이란?

○ 작성한 코드를 반복해서 실행할 때 사용하는 명령문

예) 합격 여부를 마지막 영역까지 반복 출력하고자 할 때

 

 For Next 문

▷ 지정한 횟수만큼  코드를 반복해서 실행하고자 할 때 사용

  

For 카운터변수 = 시작수 To 끝수 [Step 증감값]

        반복해서 실행할 실행문

Next [카운터변수]

 

예) 평균이 80 이상이면 ‘합격’, 그렇지 않으면 ‘불합격’

                          <코드1>                                                              <코드2>

Sub 합격여부1()
'For Next 문
 Dim i As Integer


 Sheet("반복문1").Select
 For i = 4 To 13 Step 1
 If Range("e" & i).Value >= 80 Then
 Range("f" & i).Value = "합격"
 Range("e" & i).Font.Color = vbBlue
 Else


 Range("f" & i).Value = "불합격"
 Range("e" & i).Font.Color = vbRed
 Enf If
 Next i
 End Sub

   Sub 합격여부1_1()'For Next 문
 Dim i As Integer
 Dim rCnt As Integer


rCnt = Range("b4").CurrentRegion.Rows.Count +2
 Sheet("반복문1").Select
 For i = 4 To rCnt
 If Range("e" & i).Value >= 80 Then
 Range("f" & i).Value = "합격"
 Range("e" & i).Font.Color = vbBlue
 Else


 Range("f" & i).Value = "불합격"
 Range("e" & i).Font.Color = vbRed
 Enf If
 Next i
 End Sub

 

       For Each Next문

 셀 영역,워크시트, 여러 통합 문서처럼 개체들의 집합(컬렉션)의 개별 요소에 대한 반복 작업을 실행 해야 할 때 사용(예 : 워크시트를 반복하면서 각 시트명을 셀에 입력하는 경우, 선택한 범위의 각 셀을 순환하면서 원하는 셀 서식을 지정하는 경우)

 

For Each 개체 변수 In 컬렉션

        실행문

Next

 

③ Do Loop 문

 Do While Loop : 지정한 조건이 만족하는 동안 실행문을 반복

 Do Until Loop : 지정한 조건이 만족할 때까지 실행문을 반복

 

Do While 조건식

        실행문

Loop

 

 

 

 

 

 

반응형
: