Match (2)
[엑셀이뭐니]매크로 기초 11강-Match 함수로 찾기(응용편)/ 중단모드 해제하기/ 엑셀 VBA 기초
반응형

[엑셀이뭐니]매크로 기초 11강-Match 함수로 찾기(응용편)/ 중단모드 해제하기/ 엑셀 VBA 기초

 


Sub match함수응용()

Dim rok As Long
Dim endr As Long
Dim R As Range

On Error Resume Next

endr = Cells(Rows.Count, "A").End(xlUp).Row
Range(Cells(2, 1), Cells(endr, 1)).Select

For Each R In Selection
    a = R                     '상품명
    b = R.Offset(0, 1)        '색상
    c = R.Offset(0, 2)        '사이즈
    d = a & "/" & b & "/" & c
    
    
    rok = Application.Match(d, Sheets("sheet1").Columns("A"), 0)
    
    R.Offset(0, 3) = Sheets("sheet1").Cells(rok, 5)
    
    rok = 0                'rok값을 초기화

Next
End Sub

 

rok값을 초기화 이유

원피스 색상에는 '핑크'가 없으나 바로 전 값인 50을 불러 와 버림.

이를 위해 rok값을 초기화하는 것임



https://www.youtube.com/watch?v=7XCt64TAo0M
ㅁㅁㅁ

반응형
  Comments,     Trackbacks
엑셀 VBA #28 / 워크시트 함수 [VBA] - Match이용
반응형

엑셀 VBA #28 / 워크시트 함수 [VBA] - Match이용


1. 목적 : VBA내에서 워크시트 함수 사용법 습득

2. 구조
Application.WorksheetFunction.함수명
WorksheetFunction.함수명
Application.함수명
**Best 구조 : Application.함수명

3. 활용

원본자료

위 표에서 C로 시작되는 제품코드는 원본자료 A2:A9영역 중 몇 번째 있는지를 메세지 박스로 구현하면
MsgBox Application.WorksheetFunction.Match("C*", Range("A2:A9"), 0)

4번째 행에 있다고 나온다.

 


그러면 D로 시작하는 제품코드는 어디있는지 보자...
MsgBox Application.WorksheetFunction.Match("D*", Range("A2:A9"), 0)

원본자료의 제품코드에는 D로 시작하는 코드가 없기 때문에 오류가 발생한다.

 


위와 같은 오류 발생시 프로시져를 종료시키는구문은 다음과 같다.
If IsError(Application.WorksheetFunction.Match("D*", Range("A2:A9"), 0)) Then
   Exit Sub
End If

하지만 여전히 오류 메세지가 나온다.....



이럴 때 아래 구문처럼 WorksheetFunction 지우면 오류 발생 메세지가 나오지 않는다.
그래서 2항에서 Best 구조는 Application.함수명라고 했던 것이다.
If IsError(Application.WorksheetFunction.Match("D*", Range("A2:A9"), 0)) Then
   Exit Sub
End If

4. 심화
Dim rs As Range
Dim r As Long
Set rs = Range("B2:B9")

If IsError(Application.Match(Application.Min(rs), rs, 0)) = False Then
    r = Application.Match(Application.Min(rs), rs, 0)
    Range("B10") = Cells(r + 1, "A")
End If


Application. Match(Application.Min(rs), rs, 0)) 이해.....
Min함수를 이용하여 B2:B9영역에서 최소값을 찾는다.

B2:B9영역에서 찾은 최소값에 매칭(Matching)하는 행위치를 찾는다. 

https://www.youtube.com/watch?v=RAqB6wkP5SA&list=PLfxvqpVCYZ8e0qlyc_FU46neoWjO7yTWj&index=28

반응형
  Comments,     Trackbacks
최근 작성 글
최근 작성 댓글
최근 작성 트랙백
프로필
공지사항
글 보관함
캘린더
«   2024/12   »
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 31
TODAY TOTAL