Merhaba arkadaşlar.
Aşağıdaki kod ile kapalı dosyadan veri alıyorum.
Sorunum şu:
Aynı kod dizüstü bilgisayarımda sorunsuz çalışıyor. Dizüstü bilgisayarımda ofis 2003 ve ofis 2010 birlikte kurulu. Fakat masa üstü bilgisayarımda hata veriyor. Masa üstü bilgisayarda da ofis 2003 kurulu, güncelleştirmeler açık ve yüklenmiş.
Renkli satırlarda hata veriyor
Sorunun çözümü hakkında önerilerinize ihtiyacım var.
Aşağıdaki kod ile kapalı dosyadan veri alıyorum.
Sorunum şu:
Aynı kod dizüstü bilgisayarımda sorunsuz çalışıyor. Dizüstü bilgisayarımda ofis 2003 ve ofis 2010 birlikte kurulu. Fakat masa üstü bilgisayarımda hata veriyor. Masa üstü bilgisayarda da ofis 2003 kurulu, güncelleştirmeler açık ve yüklenmiş.
Renkli satırlarda hata veriyor
Sorunun çözümü hakkında önerilerinize ihtiyacım var.
Kod:
Sub listelw2(ByVal dosya As String)
Dim s As Worksheet, strsql As String, k As Range
[COLOR="Red"]Dim conn As ADODB.Connection,[/COLOR] rs As ADODB.Recordset, sat As Long
[COLOR="red"]Set conn = New ADODB.Connection[/COLOR]
Set rs = New ADODB.Recordset
conn.Open "provider=microsoft.jet.oledb.4.0;data source=" & ThisWorkbook.Path & "\istasyonlar\" & dosya & ";extended properties=""excel 8.0;hdr=no;imex=1"";"
Set s = Sheets("Sayfa1")
sat = s.Cells(65536, "B").End(xlUp).Row
rs.Open "select F1,F2,F3,F37,F38,F39,F40 from [" & ComboBox3.Value & _
"$C6:AP65536]';", conn, adOpenKeyset, adLockReadOnly
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
Set k = s.Range("B2:B" & sat).Find(rs(0).Value, , xlValues, xlWhole)
If Not k Is Nothing Then
If Not IsNull(rs(1)) Then k.Offset(0, 1).Value = CDate(rs(1))
If Not IsNull(rs(2)) Then k.Offset(0, 2).Value = CDbl(k.Offset(0, 2).Value) + CDbl(rs(2))
If Not IsNull(rs(3)) Then k.Offset(0, 3).Value = CDbl(k.Offset(0, 3).Value) + CDbl(rs(3))
If Not IsNull(rs(4)) Then k.Offset(0, 4).Value = CDbl(k.Offset(0, 4).Value) + CDbl(rs(4))
If Not IsNull(rs(5)) Then k.Offset(0, 5).Value = CDbl(k.Offset(0, 5).Value) + CDbl(rs(5))
If Not IsNull(rs(6)) Then k.Offset(0, 6).Value = CDbl(k.Offset(0, 6).Value) + CDbl(rs(6))
End If
rs.MoveNext
Loop
End If
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
End Sub
