1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

두 자료를 비교하여 같은 값을 다른 시트에...

조회 수 10157 추천 수 0 2010.05.11 21:04:48

입력 1과 입력2의 품목은  매일 그 수가 증가하고 입력2에 품목을 적으면 입력1과 비교하여 공통된 값(품목)을 다른 시트에 나타나게
하고 싶습니다.


댓글 '1'

profile

[레벨:30]아별

2010.05.14 04:08:04
*.166.197.43

와우.. 새벽 4시..

제가 미쳤나 봅니다. 내일 출근해야하는데.. ㅋㅋ

 

첨부파일에 자세히 적었으니..  참고하세요..

abyul_QnA_QueryJoin_20100514-2.xls

 

일단.. 님이 요구하시는 것은..

DataBase를 결합하는 문제와 비슷해서 SQL을 사용했습니다. 

엑셀의 기본 기능인 데이터 통합이나.. 고급필터 따위로는 불가능하죠..

 

첨부파일에는 외부데이터 연결을 통해서 SQL을 사용하는 방법을 나름~ 상세히 적어놨구요..

실제 기능 구현은 아래의 VBA코드로 했습니다.

아래 코드들이 사용됐습니다.

 

사실 구현은 좀 더 일찍 끝났지만.. 자꾸 에러가 나서 에러 찾는데 시간을 좀 보냈습니다.

에러의 원인은.. 회원님이 주신 샘플 데이터에서 "입력2" 테이블의 "품목" 필드명이 "픔목"이기 때문이었습니다. 두둥!

프..음..목.. =_=;;;

 

Option Explicit

 

Dim strFilePath As String
Dim strFolder As String
Dim strQuery As String
   
Sub makeQueryTable()
   
    strFilePath = ThisWorkbook.FullName
    strFolder = ThisWorkbook.Path
    strQuery = "SELECT s1.품목,  s1.규격,  s1.단가 FROM DBinput1  s1, DBinput2  s2 WHERE s1.품목 = s2.품목"

    Dim rngTarget As Range
    Set rngTarget = ActiveSheet.Range("B2")
   
    Dim qt As queryTable
    If ActiveSheet.QueryTables.Count >= 1 Then
        For Each qt In ActiveSheet.QueryTables
            qt.Delete
        Next qt
    End If

    With ActiveSheet.QueryTables.Add(Connection:=Array(Array( _
        "ODBC;DSN=Excel Files;DBQ=" & strFilePath & " ;DefaultDir=" & strFolder & ";DriverId=790;MaxBufferSize=2048;PageTimeout=5" _
        ), Array(";")), Destination:=rngTarget)
        .CommandText = Array(strQuery)
        .Name = "abyulQuery001"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .BackgroundQuery = True
        .RefreshStyle = xlOverwriteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .PreserveColumnInfo = True
        .Refresh BackgroundQuery:=False
    End With

End Sub


Sub ShowDB1()
    strQuery = "SELECT * FROM DBinput1"
    Call changQuery
End Sub

Sub ShowDB2()
    strQuery = "SELECT * FROM DBinput2"
    Call changQuery
End Sub

Sub ShowDBAll()
    strQuery = "(SELECT * FROM DBinput1) UNION ALL (SELECT * FROM DBinput2)"
    Call changQuery
End Sub

Sub ShowDoubleCode()
    strQuery = "SELECT s1.품목,  s1.규격,  s1.단가 FROM DBinput1  s1, DBinput2  s2 WHERE s1.품목 = s2.품목"
    Call changQuery
End Sub


Private Function changQuery()
    If strFilePath = "" Then strFilePath = ThisWorkbook.FullName
    If strFolder = "" Then strFolder = ThisWorkbook.Path
    With ActiveSheet.QueryTables(1)
        .Connection = Array(Array( _
        "ODBC;DSN=Excel Files;DBQ=" & strFilePath & " ;DefaultDir=" & strFolder & ";DriverId=790;MaxBufferSize=2048;PageTimeout=5" _
        ), Array(";"))
        .CommandText = Array(strQuery)
        .Refresh BackgroundQuery:=False
    End With
End Function

 


첨부
문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 52739
222 엑셀일반 엑셀 질문있습니다~! [1] [레벨:1]얀수기 2013-03-15 3768
221 기타 인쇄매수 설정을 바꾸고 저장해도 계속해서 안 바뀐다면? file [3] [레벨:4]성투은자 2013-03-15 5534
220 추가기능(AddIns) 리본메뉴 만들기(버턴 여러개 넣기) [6] [레벨:5]맑은이슬 2013-03-18 4948
219 VBA .Find find 문을 공부하던도중 문제하가잇어서 질문올립니다. file [2] [레벨:4]신강현 2013-03-22 4068
218 엑셀일반 엑셀 cloud tool 파일 구할수 있을까요? [3] [레벨:1]달리아 2013-03-22 4375
217 엑셀일반 단축키가 안됩니다(찾기,Ctrl+F) ,Ctrl+G [3] [레벨:5]맑은이슬 2013-03-26 5957
216 VBA vba질문하나 올리겟습니다.ㅠㅠ file [3] [레벨:1]gg남자 2013-03-27 7038
215 엑셀수식 하이퍼 링크 가져오기 [2] [레벨:1]rfne 2013-03-29 3521
214 엑셀일반 엑셀가로데이터를 세로 데이터로 변환하기 file [2] [레벨:1]하회탈 2013-04-01 5768
213 VBA VBA 서적 추천좀 해주세요 [1] [레벨:1]김학래 2013-04-01 4521
212 엑셀수식 하이퍼 링크 재 문의 입니다. file [2] [레벨:1]rfne 2013-04-02 3887
211 엑셀일반 시트의 연도별 사용내역 중 각 시트의 해당연도 페이지만 한꺼번에 인쇄하는 법? file [3] [레벨:4]성투은자 2013-04-02 3732
210 셀서식(표시형식) 다른 시트에서 조건을 만족하면 해당시트 셀에서 색칠하거나 글씨 표시하기 file [2] [레벨:4]성투은자 2013-04-02 3913
209 엑셀일반 질문드려용// [3] [레벨:4]thoi 2013-04-02 2718
208 도와주세요 엑셀님들ㅠㅠ [1] [레벨:1]언용구 2013-04-03 2767
207 SUMPRODUCT 이런 다중조건도 가능할까요? file [4] [레벨:2]진주22 2013-04-04 3297
206 엑셀수식 색칠한 셀 개수 세기와 "←" 가 있는 셀 수 세기 file [4] [레벨:4]성투은자 2013-04-05 7602
205 엑셀일반 회계형이나 콤마(조건) 추가한 숫자형 서식의 가운데 정렬법? file [3] [레벨:4]성투은자 2013-04-05 4476
204 API 열려있는 ie창 닫기 _ Win32 API, SendMessage, FindWindows, WM_CLOSE [3] [레벨:5]맑은이슬 2013-04-06 4708
203 VBA 아별님! 엑셀 질문입니다. _ 고급필터를 활용한 데이터 분리 작업(각 시트로 분리) file [3] [레벨:2]북곰 2013-04-06 4474