Çalışma kitabı yolu

Katılım
13 Aralık 2007
Mesajlar
110
Excel Vers. ve Dili
2003
arkadaşlar 3 adet çalışma kitabı var "karşılaştır" , "a" , "b" isimlerinde
amacım "karşılaştır" çalışma kitabındaki butona tıkladığımda "a" çalışma kitabındaki a1 hücresindeki değer ile "b" çalışma kitabındaki "a1" hücrelerini karşılaştırsın değerler aynı ise "karşılaştır" çalışma kitabının "a1" hücresine "değişiklik var" veya "değişilik yok" yazsın, bunun için aşağıdaki kod u yazdım fakat dosya yolunda hata veriyor , yardımlarınızı bekliyorum..
not: dosya isimleri değişken



Private Sub CommandButton1_Click()

Dim Dosya1 As String
Dim Dosya2 As String
Dosya1 = Application.GetOpenFilename("Excel Dosyaları, *.xls", , "1. Dosyayı Seçiniz")
Dosya2 = Application.GetOpenFilename("Excel Dosyaları, *.xls", , "2. Dosyayı Seçiniz")
Workbooks.Open Dosya1
Workbooks.Open Dosya2

If Workbooks(Dosya1).Worksheets(1).Cells(1, 1).Value = Workbooks(Dosya2).Worksheets(1).Cells(1, 1).Value Then
Workbooks("karşılaştır").Worksheets(1).Cells(1, 1Value = "değişiklik yok"
End If
End Sub
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,339
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Bence dosyayı açmaya da gerek yoktur.
Kod:
Sub Karsilastir()
[COLOR=darkgreen]' 1. dosya[/COLOR]
f1 = Application.GetOpenFilename( _
        "Excel dosyaları (*.xls), *.xls")
 
If f1 = False Then Exit Sub
 
e1 = ExecuteExcel4Macro( _
    "'" & Left$(f1, Len(f1) - Len(Dir(f1))) & "[" & Dir(f1) & "]Sayfa1'!R1C1")
[COLOR=darkgreen]'--------------------------------------------[/COLOR]
 
[COLOR=darkgreen]'2. dosya[/COLOR]
f2 = Application.GetOpenFilename( _
        "Excel dosyaları (*.xls), *.xls")
 
If f2 = False Then Exit Sub
 
e2 = ExecuteExcel4Macro( _
    "'" & Left$(f2, Len(f2) - Len(Dir(f2))) & "[" & Dir(f2) & "]Sayfa1'!R1C1")
 
Sonuc = IIf(e1 = e2, "Değişiklik yok", "Değişiklik var")
 
MsgBox Sonuc
End Sub
 
Katılım
13 Aralık 2007
Mesajlar
110
Excel Vers. ve Dili
2003
sayın anemos

ilginize çok teşekkür ederim gönderdiğiniz kod aynen istediğim gibi emeğinize sağlık :) fakat şimdi şöyle bir şey daha isteniyor bu konuda da yardımınızı esirgemezseniz çok memnun olurum, "a" ve "b" çalışma kitaplarında bulunan a1:f20 aralığındaki hücrelerin karşılaştırılması ve "karşılaştır" çalışma kitabına tablonun aynen gelmesi ve kırmızı ile farklı olanların işaretlenmesi gerekiyormuş çok acil lütfen yardım edin... baz alınan çalışma kitabı "a" veya "b" olabilir fark etmez.
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,339
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Bunu deneyin.
Kod:
Sub Karsilastir()
f1 = Application.GetOpenFilename( _
        "Excel dosyaları (*.xls), *.xls")
 
If f1 = False Then Exit Sub
 
f2 = Application.GetOpenFilename( _
        "Excel dosyaları (*.xls), *.xls")
 
If f2 = False Then Exit Sub
    
For i = 1 To 6
    For j = 1 To 20
        e1 = ExecuteExcel4Macro( _
            "'" & Left$(f1, Len(f1) - Len(Dir(f1))) & _
            "[" & Dir(f1) & "]Sayfa1'!R" & j & "C" & i)
        e2 = ExecuteExcel4Macro( _
            "'" & Left$(f2, Len(f2) - Len(Dir(f2))) & _
            "[" & Dir(f2) & "]Sayfa1'!R" & j & "C" & i)
            
        Cells(j, i) = e1
        If e1 <> e2 Then Cells(j, i).Interior.ColorIndex = 3
    Next j
Next i
 
End Sub
 
Katılım
13 Aralık 2007
Mesajlar
110
Excel Vers. ve Dili
2003
sayın anemos

ustadim ne kadar tesekkur etsem azdir ellerin dert gormesin :) cok tesekkurler, kod mukemmel oldu :)
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,339
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Rica ederim.

&#304;yi &#231;al&#305;&#351;malar... ;)
 
Üst