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

작성자:  

 참죤날 (goodays)

추천:  2
파일:     조회:  1561
제목:   MATCH ,INDEX를 VBA로 구현하려면?
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

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

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

안녕하세요
아래 공식을 셀에  적용하니 원하는 조건의 첫 번째 값을 찾아줍니다

 =MATCH(TRUE,INDEX(K8:K29="",),)

이 식을 VBA로 아래와 같은 방법으로 적용하니 모두 에러가 납니다

With Sheets("AA")
           .Range("K1").Value =  "=MATCH(TRUE,INDEX(K82:K110="",),)"
End With

With Sheets("AA")
           .Range("K1").Select
           Selection.FormulaArray = "=MATCH(TRUE,INDEX(K45:K73="",),)"
End With

With Sheets("AA")
           .Range("K1").value =  _ 
          WorksheetFunction.Match(true,WorksheetFunction.INDEX((.Range("K8:K36")=""),),)
End With

지정 구역이 순차적으로 여러번 변경이 되어 VBA로 구현 하려고 합니다
좋은 안이 있으면 알려주십시오
감사합니다
 
[불량 게시물 신고]  
잡초"..."내에 ""을 사용할 경우 이중으로 사용
수식일 경우
With Sheets("AA")
            .Range("K1").Formula=  "=MATCH(TRUE,INDEX(K82:K110="""",),)"
 End With
배열수식일 경우
With Sheets("AA")
            .Range("K1").FormulaArray = "=MATCH(TRUE,INDEX(K45:K73="""",),)"
 End With
03-07 (09:00)
삭제 ■신고
참죤날""을 이중으로 사용,
일반수식과 배열수식의 경우에도 다르게 사용되는군요
감사합니다
03-08 (11:08)
삭제 ■신고
        
  

작성일 : 2022-03-06(18:11)
최종수정일 : 2022-03-06(18:11)