기초부터 실전까지 VBA 엑셀16 - 북(Workbooks), 시트(Sheet) 선택

IT 관련 지식/VBA 공부|2019. 11. 6. 07:52
반응형
728x170

<VBA 엑셀16 - 북 선택(Workbooks)북(Workbooks), 시트(Sheet) 선택>

 

오늘은 VBA를 이용해 북(Book)과 시트(Sheet)를 선택하는 기능에 대해 알아보겠습니다.

 

일반적으로는 엑셀(Excell) 프로그램을 그냥 엑셀 또는 윈도우라고 하지만

 

VBA에서는 이 엑셀 프로그램 1개를 Book이라고 생각합니다.

 

주로 다른 북(Book) 선택 또는 종료를 위해 사용합니다.

 

시트(Sheet)의 경우 여러분들도 잘 알고 있다고 생각합니다.

 

엑셀 내의 하단에 있는 Sheet1을 바로 Sheet라고 합니다.

 

그럼 먼저 기본형부터 알아보겠습니다.

 


1. VBA Book 활성화의 기본형 - Workbooks

Workbooks ( "북 이름") .Activate

 

이때 "북 이름"의 경우  확장자 (.xls, .xlsx, .xlsm)도 지정해야합니다.

 

여러개의 엑셀을 띄워놓고 복수의 작업을 하기위해서는 Workbooks ( "북 이름") .Activate로 지정후

300x250

매크로를 계속 이어나가게 해야합니다.

 

Book의 경우 선택할 수는 없고 활성화만 가능합니다.


2. VBA Sheet의 선택, 활성화 - Sheet

먼저 시트의 선택입니다.

 

매크로 VBA를 지정 시트를 선택하려면


Sheets ( "시트 이름") .Select


또는


Sheets (인덱스) .Select

 

인덱스는 시트의 순서입니다.
숨겨진 시트가 없으면, 왼쪽의 시트부터 순서대로 1,2,3 ...입니다.

 

시트를 선택하기 위해선

 

Sheets ( "시트 이름") .Activate


또는


Sheets (인덱스) .Activate

 

단 1개의 시트만 Select 또는 Active 할 경우에는 둘 다 같은 기능을 가집니다.

 

여러 개의 시트를 선택할 경우에는 

 

Sheets ( "시트 이름1", "시트 이름2", ....) .Select

 

이렇게 "시트 이름"을 나열하시면 됩니다.

 


3. 특정 문서의 시트를 활성화

문서(Book)와 시트를 동시에 활성화 할 수 도 있습니다.

 

그 기본형은 아래와 같습니다.

 

Workbooks ( "Book2.xlsx"). Sheets ( "Sheet2"). Activate

 

위와 같이 적으면

 

"Book2.xlsx의 문서의 Sheet2 시트를 활성화 한다"라는 의미가 됩니다.

 


오늘은 VBA의 문서(Book)와 시트(Sheet)를 활성화 하는 방법에 대해 알아보았습니다.

 

다음에는 Cells의 조작에 대해 알아보겠습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

반응형

댓글()

기초부터 실전까지 VBA 엑셀15 - 입력 상자 InputBox

IT 관련 지식/VBA 공부|2019. 11. 5. 08:38
반응형
728x170

<실전까지 VBA 엑셀15 - 입력 상자 InputBox>

 

이번에는 텍스트를 입력할 수 있는 입력 상자에 대해 알아보겠습니다.

 

메세지 박스가 이용자에게 경고, 알림을 하기 위한 것이었다면

 

입력 상자는 사용자로부터 정보를 얻기 위해 사용합니다.

 

이것을 배우고 나면 이제 여러분은 수치를 입력하고

 

VBA 매크로를 통해 결과를 받아볼 수 있는 프로그램을 만들 수 있게 됩니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!


1. 입력상자의 개념

InputBox (prompt [, title] [, default] [, xpos] [, ypos] [, helpfile, context])

 

각 구문의 설명은 다음과 같습니다.

 

prompt 반드시 지정합니다.
대화 상자에서 메시지로 표시되는 문자열을 나타내는 문자열 식을 지정합니다.
명명 된 인수 prompt로 최대 길이는 1 바이트 문자로 1,024 자입니다.
title 선택 사항입니다.
대화 상자의 제목 표시 줄에 나타나는 문자 식을 지정합니다.
명명 된 인수 title을 생략하면 제목 표시 줄에는 응용 프로그램 이름이 표시됩니다.
default 선택 사항입니다.
사용자가 아무것도 입력하지 않을 경우 텍스트 상자에 기본값으로 표시하는 문자열 식을 지정합니다.
명명 된 인수 default를 생략하면 텍스트 상자에 아무것도 표시되지 않습니다.
xpos 선택 사항입니다.
화면의 왼쪽 가장자리에서 대화 상자의 왼쪽 가장자리 사이의 수평 거리를 twip 단위로 나타내는 수식을 지정합니다.
명명 된 인수 xpos를 생략하면 대화 상자는 수평 방향에 대해 화면의 중앙 위치에 배치됩니다.
ypos 선택 사항입니다.
화면 상단에서 대화 상자의 상단까지의 수직 거리를 twip 단위로 나타내는 수식을 지정합니다.
명명 된 인수 ypos 생략하면 대화 상자는 수직에 화면의 상단으로부터 약 1/3 위치에 배치됩니다.
helpfile 선택 사항입니다.
대화 상자에 상황에 맞는 도움말을 설정하기 위해 사용하는 도움말 파일의 이름을 나타내는 문자열 식을 지정합니다.
이 인수는 표시하는 대화 상자의 설명을 도움말을 사용하여 볼 때 지정합니다.
명명 된 인수 helpfile을 지정한 경우 명명 된 인수 context도 지정해야합니다.
context 선택 사항입니다.
도움말 항목에 지정된 컨텍스트 번호를 나타내는 수식을 지정합니다.
명명 된 인수 context를 지정하면 명명 된 인수 helpfile도 지정해야합니다.

위에서 주로 사용되는 것은 prompt, title, default 이렇게 3개입니다.

 

입력 상자의 경우 사용자가 입력한 값을 받아야하기 때문에 그에 따른 변수가 필요합니다.

 

이는 다음 예문에서 살표보겠습니다.

300x250

2. InputBox의 예문

먼저 InputBox의 가장 기본적인 사용법부터 시작하겠습니다.

 

① VBA InpuBox 기본 활용법

Sub inputbox1()

Dim strIn As String
strIn = InputBox("값을 입력해주세요")

End Sub

 

결과

이 입력상자에 무언가를 입력할 경우

 

그 값이 위에서 지정한 strln이라는 변수 안으로 들어간다.


② VBA InputBox 응용 활용법

Sub inputbox2()

Dim strIn As String
strIn = InputBox("값을 입력해주세요" & vbLf & "숫자만 가능합니다.", "Only Number", "10")

End Sub

 

결과

 

이번에는 입력 상자의 텍스트에 줄바꿈과 Title 변경, 초기값을 입력해봤습니다.

 

지금은 "숫자만 가능합니다."라고 써놨어도 아무거나 입력 가능하지만

 

나중에 진짜 숫자만 입력 가능하게 하는 방법도 하나씩 알려드리도록 하겠습니다.

 


이번에는 VBA에서 InputBox에 대해 알아봤습니다.

 

다음에는 VBA를 이용하여 셀을 다루는 법에 대해 알아보겠습니다! 

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀1 - 매크로 사용준비

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀7 - Const 상수 선언

[IT 관련 지식/VBA 공부] - 기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

 

일본에서 이야기하는 한국뉴스!

[일본 뉴스] - 일본 뉴스 분석 - 日 주요 언론, 조속한 한일 정상회담 개최 촉구

[일본 뉴스] - 일본 뉴스 분석 - 아베, 이 총리에게도 "국가간 약속지켜야" 거듭 억지

반응형

댓글()

기초부터 실전까지 VBA 엑셀14 - 메세지 박스 MsgBox

IT 관련 지식/VBA 공부|2019. 11. 3. 08:55
반응형
728x170

<VBA 엑셀14 - 메시지 박스 MsgBox>

 

이번에는 엑셀에서 메시지 박스를 띄워보는 방법에 대해 자세히 알아보겠습니다.

 

메세지 박스 또한 활용성이 매우 높은 코딩입니다.

 

메세지 박스에서 나오는 Yes / No를 통해서 조건부 함수를 사용할 수 도 있고

 

사용자에게 경고의 메세지 또는 알림 메시지를 줄 수 도 있습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!


1. MsgBox의 기본형

 

MsgBox (prompt [, buttons] [, title] [, helpfile, context])

 

prompt "반드시 지정합니다." 대화 상자에서 메시지로 표시되는 문자열을 나타내는 문자열 식을 지정합니다.
인수 prompt로 최대 길이는 1 바이트 문자로 1,024 자입니다.
buttons "선택 사항입니다. "표시되는 단추의 종류와 번호, 사용할 아이콘 스타일을 지정할 수 있습니다.
생략하면 인수 buttons 기본값 0이됩니다.
title "선택 사항입니다." 대화 상자의 제목 표시 줄에 표시되는 문자열을 나타내는 문자열 식을 지정합니다.
생략하면 제목 표시 줄에는 응용 프로그램 이름이 표시됩니다.
helpfile "선택 사항입니다." 대화 상자에 상황에 맞는 도움말을 설정하기 위해 사용하는 도움말 파일의 이름을 나타내는 문자열 식을 지정합니다.
이 인수는 표시하는 대화 상자의 설명 도움말을 사용하여 볼 때 지정합니다.
인수 helpfile을 지정한 경우에는 인수 context도 지정해야합니다.
context "선택 사항입니다."
도움말 항목에 지정된 컨텍스트 번호를 나타내는 수식을 지정합니다.
인수 context를 지정한 경우, 인수 helpfile도 지정해야합니다.

 


2. Button 인수에 대한 상수

 

아래의 "상수" 또는 "값"을 위의 [buttons] 부분에 넣을 경우 작동합니다.

 

300x250

"표준 버튼" 부분과 "기타" 부분은 거의 사용할 일이 없을 거라 생각합니다.

그룹 상수 내용
버튼의 종류 vbOKOnly 0 [OK] 버튼만 표시합니다.
vbOKCancel 1 [OK] 버튼과 취소 버튼을 표시합니다.
vbAbortRetryIgnore 2 [중지], [다시 시도]. [무시]의 3 개의 버튼을 표시합니다.
vbYesNoCancel 3 [예], [아니요], [취소]의 3 개의 버튼을 표시합니다.
vbYesNo 4 [예] 버튼과 [아니오] 버튼을 표시합니다.
vbRetryCancel 5 [다시 시도] 및 [취소] 버튼을 표시합니다.
아이콘의 종류 vbCritical 16 경고 메시지 아이콘을 표시합니다.
Windows에서 시스템 오류의 소리 가 들립니다.
vbQuestion 32 문의 메시지 아이콘을 표시합니다.
vbExclamation 48 경고 메시지 아이콘을 표시합니다.
Windows의 메시지 (경고) 소리 가 들립니다.
vbInformation 64 정보 메시지 아이콘을 표시합니다.
Windows의 메시지 (정보) 소리 가 들립니다.
표준 버튼 vbDefaultButton1 0 제 단추가 기본 단추입니다.
vbDefaultButton2 256 제 2 단추가 기본 단추입니다.
vbDefaultButton3 512 제 3 버튼을 표준 단추입니다.
vbDefaultButton4 768 제 4 버튼을 표준 단추입니다.
기타 vbMsgBoxHelpButton 16384 도움말 버튼을 추가합니다.
VbMsgBoxSetForeground 65536 맨 위에있는 창으로 표시합니다.
vbMsgBoxRight 524288 텍스트를 오른쪽 정렬로 표시합니다.
vbMsgBoxRtlReading 1048576 텍스트를 오른쪽에서 왼쪽으로 표시합니다.

 


3. MsgBox 반환 상수

 

각 버튼을 눌렀을 때 어떤 상수를 반환하는지 나타냅니다.

 

이를 활용하여 조건문에 사용할 수 있습니다.

 

상수 설명
vbOK 1 [OK]
vbCancel 2 취소
vbAbort 3 [취소]
vbRetry 4 재시도
vbIgnore 5 무시
vbYes 6
vbNo 7 아니요

 


4. 예문

 

Sub msgbox1()

 MsgBox "메세지를" & vbLf & "표시합니다."
 
End Sub

 

위와 같이 입력한 다음 실행하면 다음과 같은 메시지 박스가 나옵니다.

 

엑셀 vba 메세지 상자

 

위에서 적은 & vbLf & 의 경우 

 

키보드에서 "Enter"를 의미합니다.

 

반드시 & 과 vbLf 사이를 띄워야 합니다.

 

다음 예문을 보죠

 

Sub msgbox2()

Dim rtn As Integer
 
    rtn = MsgBox("메세지 보여요?", vbYesNo + vbQuestion + vbDefaultButton2, "확인")
    
    Select Case rtn '누른 버튼을 확인하는 조건문
    
        Case vbYes
            MsgBox "예를 눌렀습니다."
        Case vbNo
            MsgBox "아니요를 눌렀습니다."
    End Select
 
End Sub

위의 구문을 실행하면 다음과 같은 메시지 박스가 나옵니다.

 

 

여기서 "예"를 누를 경우

 

 

"아니오"를 눌렀을 경우

 

 

위의 구문을 조금 해석해보자면 

 

Sub msgbox2() 

Dim rtn As Integer 
  
    rtn = MsgBox("메세지 보여요?", vbYesNo + vbQuestion + vbDefaultButton2, "확인") 
     
    Select Case rtn '누른 버튼을 확인하는 조건문 
     
        Case vbYes 
            MsgBox "예를 눌렀습니다." 
        Case vbNo 
            MsgBox "아니요를 눌렀습니다." 
    End Select 
  
End Sub 

① vbYesNo로 Yes / No 버튼을 만든다

 

② vbQuestion으로 Q 마크를 만든다.

 

③ vbDefaultButton2로 "No"를 기본 버튼으로 선택되게 만든다

- 보시면 실행 시 "No" 버튼에 점선이 되어있는 것 = 선택된 것을 볼 수 있습니다.

 

④ Select Case를 이용하여 Yes / No에 대한 각각의 반응에 대해 조건문을 만든다.

 

msgbox문.txt
0.00MB

 


위와 같이 조건문에 대한 활용, 사용자에게 경고의 메시지 등으로 사용할 수 있습니다.

 

다음에는 반대로 입력할 수 있는 입력 상자(InputBox)에 대해 알아보겠습니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

반응형

댓글()

기초부터 실전까지 VBA 엑셀13 - 조건문 Select Case

IT 관련 지식/VBA 공부|2019. 11. 2. 08:13
반응형
728x170

<VBA 엑셀13 - 조건문 Select case>

 

이번에는 if 조건문과 조금 다른 Selece Case라는 조건문에 대해 알아보겠습니다.

 

사실 이 Select ~ Case는 ElseIf과 매우 비슷합니다.

 

하지만 조건이 많을 경우 Select Case가 훨씬 유리한데요

 

그 이유는 코딩이 짧아지고 직관성이 높아지기 때문입니다.

 

더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

 


1. 기본형

 

기본 형태는 아래와 같습니다.

 

그럼 이제 하나씩 살펴보도록 하죠

Select Case testexpression
    [Case expressionlist-n
        [statements-n]]
    ...
    [Case Else
        [elsestatements]]
End Select

 

testexpression 반드시 지정해야합니다.
주로 변수를 지정합니다.
expressionlist-n "testexpression"에서 지정한 변수가 만족할 조건을 입력합니다.
statements-n 선택 사항입니다.
"expressionlist-n"이 만족될 경우 실행할 코딩을 적는 구간입니다.
elsestatements 선택 사항입니다.
인수 testexpression이 모든 Case 절과 일치하지 않을 때, 실행할 코딩을 적는 구간입니다.

 


2. 예문

 

① 기본형

Select Case i `i는 여기서 변수
  Case 1
    'i=1일때 처리
  Case 2
    'i=2일때 처리

  Case Else
    'i가 위의 조건을 만족하지 않을때 처리
End Select

 

② Or 조건

 

Select Case i `i는 여기서 변수
  Case 1, 2
    'i=1 or 2일때 처리
  Case 3, 4
    'i=3 or 4일때 처리

  Case Else
    'i가 위의 조건을 만족하지 않을때 처리
End Select
300x250

 

 

③ 범위 지정

 

Select Case i `i는 여기서 변수
  Case 1 To 3
    'i= 1~3일때 처리
  Case 4 To 6
    'i= 4~6일때 처리

  Case Else
    'i가 위의 조건을 만족하지 않을때 처리
End Select

 

④ 부등호 사용

 

Select Case i `i는 여기서 변수
  Case Is < 2
    'i < 2일때 처리
  Case Is >=5
    'i >= 5일때 처리

  Case Else
    'i가 위의 조건을 만족하지 않을때 처리
End Select

 

주로 위와 같이 4개의 경우를 이용하여 사용할 수 있습니다.

 

그럼 마지막으로 If 조건문에서 사용한 예제를 Select Case를 이용하여 표현해보고 마치겠습니다.

 

<If절을 사용한 조건문>


Sub if1()

    If Cells(1, 1) >= 100 Then
        Cells(1, 2) = "○"
    Else
        Cells(1, 2) = "×"
    End If

End Sub

 

<Select Case를 사용한 조건문>

Sub select1()

    Select Case Cells(1, 1)
    
        Case Is >= 100
            Cells(1, 2) = "○"
        
        Case Else
            Cells(1, 2) = "X"
    End Select
    
End Sub

 

위와 같이 동일한 결과를 다른 프로그램을 이용하여 만들 수 있습니다.


더 많은 VBA 자료를 보고 싶다면 ☜ 여기!!

 

다음에는 신기한 MsgBox라는 것에 대해 알아보겠습니다!

반응형

댓글()