배움터  
  HOME > 배움터 > Daily Tip
Daily Tip

제품:   Excel 버전:   2003
검색어:   데이터에 색상을
제목:   기준 급여액 이상의 데이터에 색상을 설정하는 VBA 예제
     
 

 

 [Excel VBA] 기준 급여액 이상의 데이터에 색상을 설정하는 VBA 예제

  오늘은 7월1일(토)에 진행하는 장미희님 Excel 매크로&VBA 과정 기준 급여액 이상의 데이터에 색상을 설정하는 방법을 VBA로 작업하는 방법에 대해서 알아보도록 하겠습니다. (사용버전: 2003)

  엑셀 매크로 또는 엑셀 VBA는 엑셀사용자라면 언젠가는 도전하고 싶은 목표입니다. 실제 주변에서나 본인의 경험상 엑셀VBA로 엑셀 작업시간과 노력이 적게 드는 경우를 빈번하게 경험하고 있습니다. 엑셀 VBA로 편리하게 작업할 수 있는 예를 살펴보겠습니다.

  입력상자에 기준 급여액을 입력하면 기준 급여액 이상의 데이터의 글꼴이 빨간색으로 변경되고 기준 급여액 이상을 받는 인원수를 표시하는 예제를 VBA로 작성해보겠습니다.

 1. 사용되는 명령어들

  엑셀VBA작업을 하려면 VBA명령어에 대해 잘 알고 있어야 합니다.

 On Error GoTo : 오류를 처리하는 구문
 InputBox : 값을 입력받는 대화상자
 IsNumeric : 데이터 값이 숫자인지 확인하는 함수
 CLng : 문자로 된 숫자 데이터를 정수로 변환하는 함수
 EntireRow : 전체 행 의미
 Format : 셀 서식을 지정하는 함수
 Resume : 오류가 발생한 곳으로 이동

 2. 사용되는 VBA 구문

  VBA 문법이라고 생각하시면 됩니다. 일정한 범위를 반복해주는 For구문과 조건에 따라 다른 명령문을 수행하는 If구문을 사용합니다.

  In다음의 집합개념의 범위에 데이터가 입력된 전체범위를 지정하고 In앞의 원소는 집합의 데이터를 하나씩 지칭합니다. For와 Next는 그 사이의 명령어들을 집합내의 데이터를 전부 다루도록 지정하는 역할을 합니다.

  If구문은 엑셀의 If함수와 동일한 역할을 합니다. 조건에 참인 경우와 거짓인 경우에 따라 명령문을 다르게 지정합니다.

 3. 실제 작성한 VBA 코드

Sub 기준값입력()
Dim Rvar
Dim rng As Range
Dim co As Integer
On Error GoTo ErrorCheck
Rvar = InputBox("기준 급여액을 입력하세요.")
If Rvar <> "" Then
For Each rng In Range(Range("I5"), Range("I5").End(xlDown))
If IsNumeric(rng.Value) And rng.Value >= CLng(Rvar) Then
rng.EntireRow.Font.ColorIndex = 3
co = co + 1
Else
rng.EntireRow.Font.ColorIndex = 1
End If
Next
Range("g2") = Format(Rvar, "#,##0") & "이상 인원수 : " & co & "명"
MsgBox Rvar & "이상의 인원수는 " & co & "명입니다."
End If
Exit Sub
ErrorCheck:
MsgBox "유효하지 않은 데이터입니다."
Rvar = InputBox("기준 급여액을 입력하세요.")
Resume
End Sub