엑셀에서 특정셀에 값을 입력하면 다른 엑셀파일에 있는 표에서 동일한 텍스트 값들(복수)을 찾아서 그 값들에 해당하는 가격(숫자)를 같이 출력하게 하고싶어요
제목에서와 같이 엑셀에서 특정셀에 값을 입력하면 다른 엑셀파일에 있는 표에서 동일한 텍스트 값들(복수)을 찾아서 그 값들에 해당하는 가격(숫자)를 같이 출력하게 하고싶어요
A라는 파일에서 E17에 모델명을 입력하면, B라는 엑셀 파일에 정리되어있는 표에서 정확히 일치하는 모델명들을 찾아서,
그 모델명들이 팔린 날짜와 각 날짜별 가격들 이 두가지를 같이 A라는 엑셀파일의 O17셀에 차례대로 뜰 수 있게 하고싶습니다.
위의 기능이 꼭 동작하게 해야하는데 도와주시면 감사하겠습니다 ㅠㅠ
이건 쿼리가 아니라 VBA 를 사용해야하는거 같은데요.
시트 정보가 달라서요.
다음을 참고해 보세요.
A파일에서 VBA 열기
Sub FindAndListPrices()
Dim modelName As String
Dim wsA As Worksheet
Dim wsB As Worksheet
Dim lastRow As Long
Dim i As Long
Dim outputRow As Long
' A 파일의 시트 설정
Set wsA = ThisWorkbook.Sheets("Sheet1") ' 시트 이름을 실제 이름으로 변경하세요
modelName = wsA.Range("E17").Value
' B 파일 열기 및 시트 설정
Workbooks.Open "C:\경로\B파일.xlsx" ' B 파일의 실제 경로로 변경하세요
Set wsB = Workbooks("B파일.xlsx").Sheets("Sheet1") ' 시트 이름을 실제 이름으로 변경하세요
' B 파일의 마지막 행 찾기
lastRow = wsB.Cells(wsB.Rows.Count, "A").End(xlUp).Row
' 결과 출력 시작 행 설정
outputRow = 17
' B 파일에서 모델명 검색 및 결과 출력
For i = 2 To lastRow ' 헤더가 1행에 있다고 가정
If wsB.Cells(i, 1).Value = modelName Then
wsA.Cells(outputRow, 15).Value = wsB.Cells(i, 2).Value ' 날짜
wsA.Cells(outputRow, 16).Value = wsB.Cells(i, 3).Value ' 가격
outputRow = outputRow + 1
End If
Next i
' B 파일 닫기
Workbooks("B파일.xlsx").Close SaveChanges:=False
End Sub