728x90
간단한 표를 만들어 보겠습니다.
첫번째 학생들 이름이 있고
두번째, 세번째 각각 수학 영어 점수가 나옵니다.
여기서 VBA로 영어 최고점자를 찾아서 메시지 창을 띄워보겠습니다.
첫번째 버튼을 추가해서 버튼이 클릭될 때 실행되도록 해볼게요
위쪽 삽입메뉴에서 Active 컨트롤 아래에 명령 단추를 클릭한 후에
엑셀 표옆에 만들어 줍니다.
저는 표옆에 추가했습니다
그리고 코드를 입력해보겠습니다
추가하신 Button1를 더블클릭하셔도되고
Visual Basic 편집창을 열어서 추가하셔도됩니다.
단축키는 Alt + F11 입니다.
아래 그림과같이 나오는걸 볼 수 있습니다
위쪽 메뉴에 디자인모드로 변경후 해주시면 됩니다.
Private Sub CommandButton1_Click()
Dim engMax As Integer
Dim temp As Integer
Dim name As String
End Sub
우선 변수를 선언해보겠습니다
최고점을 담을 engMax 정수형 변수
최고점과 비교할 temp 정수형 변수
최고점자의 이름을 담을 name 텍스트 변수
engMax = Cells(2, 3).Value
처음 철수의 영어 점수를 engMax에 담겠습니다
그리고 반복문으로 철수의 영어점수에서부터 아영이의 영어 점수까지 temp 변수에 담아가며
engMax와 비교하고 engMax보다 temp보다 영어 점수가 크면 engMax에 값을 temp의 값으로
바꿔주면 됩니다.
For i = 2 To 6
temp = Cells(i, 3).Value
If engMax <= temp Then
engMax = temp
name = Cells(i, 1).Value
End If
Next i
For문에서 2 에서 6까지 반복을 합니다.
반복문이 끝나게되면
name에 는 영어 최고점자의 이름이 들어가있고
engMax에는 영어 최고점자의 점수가 들어가 있습니다
메시지 창으로 이부분을 띄워보겠습니다.
MsgBox ("영어최고점자 = " + name + "[" & engMax & "]")
전체 코드입니다.
아래와같이 민영, 85로 잘나오시나요?
이상입니다.
감사합니다.
반응형
'Excel VBA' 카테고리의 다른 글
Excel VBA 독학해보자 메시지창 띄우기 (0) | 2023.02.15 |
---|
댓글