[땡큐엑셀vba & 엑셀매크로] 해당 조건에 따른 창고분류 (if,instr)
엑셀vba예제2020. 7. 6. 00:00
'작성자: 땡큐엑셀vba & 엑셀매크로
'
'엑셀 VBA Select case를 사용해서 분류를 하고싶습니다.
'아래 내용처럼 적요란(F열) 에 "불량" 이라는 글씨가 먼저있을경우 창고 분류(G열)란에? "불량창고"
'정상 글씨가 먼저있을경우 창고분류 "정상창고"
'반품 이라는 글씨가 먼저있을경우 "반품창고"
'그리고 품목명이 1A 와 적요에 불량이 먼저있을경우 창고분류에 "재확인"
'품목명에 3C와 적요에 정상이 있을경우 "일반반품"
'Select case를 사용해서 해당 조건을 할수있을까요?
'
' Source by 땡큐엑셀vba & 엑셀매크로
'
' instr내장함수를 사용하여 품목과 적요의 단어를 분석하여 해당 조건을 만족하는지 체크하여 결과출력
Sub Main()
'마지막행
iLastRow = Range("A" & Cells.Rows.Count).End(xlUp).Row
'창고분류 Clear
If iLastRow > 1 Then Range("G2:G" & iLastRow).ClearContents
'루프
For i = 2 To iLastRow
str품목명 = Cells(i, "D")
str적요 = Cells(i, "F")
str분류 = ""
'instr내장함수를 이용하여 해당 단어가 들어 있는지 체크
If InStr(1, str적요, "불량") > 0 Then str분류 = "불량창고"
If InStr(1, str적요, "정상") > 0 Then str분류 = "정상창고"
If InStr(1, str적요, "반품") > 0 Then str분류 = "반품창고"
'instr내장함수를 이용하여 두가지 조건을 만족하는지 체크
If InStr(1, str품목명, "1A") > 0 And InStr(1, str적요, "불량") > 0 Then str분류 = "재확인"
If InStr(1, str품목명, "3C") > 0 And InStr(1, str적요, "정상") > 0 Then str분류 = "일반반품"
Cells(i, "G") = str분류
Next
MsgBox "완료되었습니다", vbInformation, "땡큐엑셀vba & 엑셀매크로"
End Sub
'엑셀vba예제' 카테고리의 다른 글
[땡큐엑셀vba & 엑셀매크로] 바탕색이 같은 셀의 합계-사용자정의함수 (0) | 2020.07.08 |
---|---|
[땡큐엑셀vba & 엑셀매크로] 시트이름 나열하기 (sheets.count) (0) | 2020.07.07 |
[땡큐엑셀vba & 엑셀매크로] 알파벳에 해당되는 시간표를 만들고 싶은데요 (0) | 2020.07.05 |
[땡큐엑셀vba & 엑셀매크로] 엑셀 매크로 실행시 빈셀에 대해서는 실행하지 않도록 하는 방법 문의드립니다. (0) | 2020.07.04 |
[땡큐엑셀vba & 엑셀매크로] Q열에서 NG나 LIMIT이 포함되있는 행을 추출해서 다른시트로 붙여넣기 (0) | 2020.07.03 |