- Katılım
- 11 Mart 2005
- Mesajlar
- 3,059
- Excel Vers. ve Dili
- Office 2013 İngilizce
Arkadaşlar iyi pazarlar,
Ekli dosyada aşağıdaki kod ile diğer dosyada eşlenen verileri "Left Join" operatörü ile getirirmeye çalışırken;
getirmiş olduğu verileri sıralamaya tabi tutuyor. Bu nedenle bulunan gelen veriler satırda tam karşılığa gelmiyor ve karışık bir durum oluşuyor.
Bire-bir karşılığa gelmesi için sıkıntıyı bir türlü çözemedim,
Ne yapmam gerektiğini bilemiyorum, yardımcı olursanız çok sevinirim.
Ekli dosyada aşağıdaki kod ile diğer dosyada eşlenen verileri "Left Join" operatörü ile getirirmeye çalışırken;
getirmiş olduğu verileri sıralamaya tabi tutuyor. Bu nedenle bulunan gelen veriler satırda tam karşılığa gelmiyor ve karışık bir durum oluşuyor.
Bire-bir karşılığa gelmesi için sıkıntıyı bir türlü çözemedim,
Ne yapmam gerektiğini bilemiyorum, yardımcı olursanız çok sevinirim.
Kod:
Sub LeftJoin24()
Dim wbk As Workbook
Dim WS As Worksheet
Dim strCon As String, strSQL As String
Dim objConn As Object, RS As Object
Dim strFile As String, myPath As String
On Error GoTo errMsg
myPath = ThisWorkbook.Path
WBk2 = myPath & "\Entity 24082.xlsx"
Set wbk = ThisWorkbook
strFile = wbk.FullName
Set WS = wbk.Sheets("NewCC")
Columns("C:N").ClearContents
WS.Range("D:K").ClearContents
Set objConn = CreateObject("ADODB.Connection")
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
"User ID=Admin;" & _
"Data Source='" & strFile & "';" & _
"Extended Properties='Excel 12.0;HDR= Yes'"
strSQL = "Select T2.[Name] " & _
"From [" & strFile & "].[NewCC$] As T1 " & _
"Left Join " & _
"[" & WBk2 & "].[Entity$] As T2 " & _
"On T1.[Name] = T2.[Name]"
objConn.Open strCon
Set RS = objConn.Execute(strSQL)
WS.Range("C2").CopyFromRecordset RS
WS.Range("C1").Value = "Name2"
WS.Columns("A:C").EntireColumn.AutoFit
' ' ----
RS.Close
objConn.Close
Set RS = Nothing
Set objConn = Nothing
Set WS = Nothing
Exit Sub
errMsg:
MsgBox "There seems to be an error" & vbCrLf & Err.Description
End Sub
Ekli dosyalar
-
338.8 KB Görüntüleme: 6
-
1.1 MB Görüntüleme: 6