엑셀 화면 하단에는 상태 정보를 표시하는 곳이 있습니다. 엑셀에서 이루어지는 작업 진행 사항을 보여 주는 곳으로 VBA 에서도 제어가 가능합니다. 상태 정보를 표시할 수 있는 속성은 Application.STATUSBAR 입니다. Application 개체에 포함되어 있습니다. 오늘은 VBA 에서 매크로 함수의 진행 여부를 상태바에 표시하는 방법에 대해 알아 보겠습니다.
▼ 그림에서처럼 엑셀 화면에서 Application.STATUSBAR 속성으로 표시할 수 있는 곳은 화살표로 가리키는 곳입니다.
▼ 상태바에 매크로 함수의 진행 상태를 표시하기 위해 2중 For 문으로 반복문을 만들었습니다.
For i = 1 To 20 For j = 1 To 5 Next j Next i |
▼ 다음은 랜덤 값을 추출해서 엑셀 시트에 표현하기 위해서 RANDBETWEEN 함수를 사용하였습니다. 20 과 100 사이의 값 중 하나를 반환 받게 됩니다.
Cells(i, j).Value = WorksheetFunction.RandBetween(20, 100) |
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 개발할 때 로그 출력하는 방법 ▶ 엑셀 VBA 시트에 있는 내용을 파일, 텍스트로 출력하기 ▶ 엑셀 VBA 연산자 사용해서 String 문자열을 합치기 ▶ 엑셀 VBA 마지막 행과 열의 수 찾기 ▶ 엑셀 VBA GoTo 문 이용해서 줄로 분기하기 |
▼ 이제 For 문이 끝날 때 까지 매번 상태바에 진행 사항을 표시해야 합니다. 현재 For 문에서 몇 % 진행이 되었는지 per 에 저장하고 “데이터 입력 중” 이라는 문자열과 함께 Application.STATUSBAR 속성에 저장합니다. 그럼 문자열은 상태바에 출력이 됩니다.
per = (i - 1) * 5 + (j * 1) Application.STATUSBAR = "데이터 입력중.. " & per & "% 완료" Application.Wait Now + TimeValue("00:00:01") |
▼ For 문이 끝나고 상태바에 입력이 종료 되면 원래 상태로 돌리기 위해 STATUSBAR 는 False 로 세팅해 줘야 합니다.
Application.STATUSBAR = False |
▼ 아래는 상태바에 정보를 출력하는 방법을 구현한 전체 매크로 함수에 대한 내용입니다. 실행한 결과는 그림 하단에 표시가 되어 있습니다.
Sub StatusBarInfo() Dim per As Integer Dim i As Integer, j As Integer For i = 1 To 20 For j = 1 To 5 Cells(i, j).Value = WorksheetFunction.RandBetween(20, 100) per = (i - 1) * 5 + (j * 1) Application.STATUSBAR = "데이터 입력중.. " & per & "% 완료" Application.Wait Now + TimeValue("00:00:01") Next j Next i Application.STATUSBAR = False End Sub |
※ 아래는 참고하면 좋을 만한 글들의 링크를 모아둔 것입니다. ※ ▶ 엑셀 VBA 개발할 때 로그 출력하는 방법 ▶ 엑셀 VBA 시트에 있는 내용을 파일, 텍스트로 출력하기 ▶ 엑셀 VBA 연산자 사용해서 String 문자열을 합치기 ▶ 엑셀 VBA 마지막 행과 열의 수 찾기 ▶ 엑셀 VBA GoTo 문 이용해서 줄로 분기하기 |
'엑셀(Excel) > VBA' 카테고리의 다른 글
엑셀 VBA 작은 따옴표, apostrophe 일괄적으로 삭제하는 방법 (1) | 2024.10.25 |
---|---|
엑셀 VBA 변수 생명 주기 지정하는 방법, Static 정적 변수 사용법 (1) | 2024.10.23 |
엑셀 VBA 개별 파일 시트 복사해서 하나의 파일에 통합하기 (2) | 2024.10.23 |
엑셀 VBA 여러 시트 데이터 합치기 (18) | 2024.10.15 |
엑셀 VBA 셀 색상 변경하는 두 가지 방법 (2) | 2024.10.12 |
엑셀 VBA 연산자 사용해서 String 문자열을 합치기 (2) | 2024.10.11 |
엑셀 VBA 셀 배경색 적용하는 다양한 방법 (0) | 2024.08.12 |
엑셀 VBA 행, 열 삭제 및 추가하기 (0) | 2024.08.12 |