나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 야야호호 (kkd5912)

추천:  2
파일:     조회:  825
제목:   vba 에서 match 함수
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):

* 아래줄에 질문을 작성하세요 >>

vba 에서 다중 조건 찾기를 하려고 합니다.
그냥 워크시트에서 match 함수를 통하여 행 번호를 받아 오는것은 잘 되는데,
vba에서는 13런타임 오류가 발생합니다.

두개의 sheet를 사용하여 행 번호를 받아오고 싶습니다.

=MATCH(1,('1월 sale'!F4=list!$C:$C)*('1월 sale'!F5=list!$F:$F)*('1월 sale'!F6=list!H:H),0)
위크시트에서는 이렇게 사용하면 행번호를 받아서 
이제 매크로로 바꾸려고 하는데.

Sub 출고()
    If [f4] = "" Then Exit Sub
    If [F5] = "" Then Exit Sub
    If [F6] = "" Then Exit Sub
    If [f7] = "" Then Exit Sub
    
    행 = Range("b1048576").End(xlUp).Row + 1
    Range("b" & 행) = WorksheetFunction.Max([b21:b1048576]) + 1
    Range("c" & 행) = [f3]
  
    Range("d" & 행) = WorksheetFunction.Match(1, [f4] = Worksheets("list").Range("i20:i1048")*([f5] = Worksheets("list").Range("f20:f1048"))*[f6] = Worksheets("list").Range("h20:ih048"), 0)
  
End Sub

이렇게 구성하였습니다. 문제가 되는곳은 match 함수가 있는 곳입니다.

단순조건은 find.row 함수를 이용하였는데.  다중 조건을 넣으려고 하니까 문제가 생기네요.

저 수식에서 문제가 있는것인가요? 아니면 다른 방법을 사용해야 하는것인가요?
 
[불량 게시물 신고]  
        
  

작성일 : 2023-02-02(05:00)
최종수정일 : 2023-02-02(05:01)