|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
1. 엑셀 버전(95,97,2000,2002):2002
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):XP
3. CPU (486,PentiumI/II/III/IV...):
4. RAM (32,64,128,256,512MB,1G...):
* 아래줄에 질문을 작성하세요 >>
안녕하십니까? 고수님의 도움을 받고자 적습니다.
예제파일을 올립니다만 구하고자 하는것은 함수등을 이용하지 않고 단지 VBA 프로
그램을 작성하여 답을 구하는 것으로 시트1의 data를 시트2에서 일치하는 똑같은
Data를 찾아 일치되는 시트2 Data의 일부 항목을 시트1에 출력되도록 하는 것으로
제가 해 볼려고 해도 워낙 초보라 감감합니다. 고수님의 고견을 부탁합니다.
==============[스카이홀님 글에 대한 답변입니다]==============
ITEM번호가 unique하다고 가정하였습니다.
--------------------------------------------------------
Sub extract()
Dim rngTar As Range
Dim rngSrc As Range
Set rngTar = Sheets("Main").[B3]
While Not IsEmpty(rngTar)
Set rngSrc = Sheets("Data").[B:B].Find(What:=rngTar, lookat:=xlWhole)
If Not rngSrc Is Nothing Then
rngTar.Offset(0, 1) = rngSrc.Offset(0, 2) '//금액
rngTar.Offset(0, 2) = rngSrc.Offset(0, 3) '//수량
End If
Set rngTar = rngTar.Offset(1, 0)
Wend
End Sub
--------------------------------------------------------
건투를...
==============[ist공원님 글에 대한 답변입니다]==============
Sub extract()
Dim rngTar As Range
Dim rngSrc As Range
Set rngTar = Sheets("Main").[B3] '//Main시트의 B3셀을 rngTar이라고 지정
While Not IsEmpty(rngTar) '//rngTar라는 영역에 데이터가 있는 한 while루프 동작
Set rngSrc = Sheets("Data").[B:B].Find(What:=rngTar, lookat:=xlWhole) '//Data시트의 B열에서 rngTar의 내용과 같은 셀을 찾아서 rngSrc라고 지정
If Not rngSrc Is Nothing Then '//rngSrc가 존재하면(Nothing이 아니면) 아래 수행
rngTar.Offset(0, 1) = rngSrc.Offset(0, 2) '//rngTar의 우측셀에 rngSrc의 우측우측셀 값을 대입
rngTar.Offset(0, 2) = rngSrc.Offset(0, 3) '//rngTar의 우측우측셀에 rngSrc의 우측우측우측셀 값을 대입
End If
Set rngTar = rngTar.Offset(1, 0) '//rngTar는 한 행 아래의 것으로 대체
Wend
End Sub
---------------------------------------------------
건투를... |
|