• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

End if Hatası

bydogannn67

Altın Üye
Katılım
6 Ocak 2016
Mesajlar
226
Excel Vers. ve Dili
2010 türkçe
merhabalar,

arkadaşlar aşağıdaki kodda " block ıf without end if " hatası alıyorum nerde yanlışım var yardımcı olabilirmisiniz

Kod:
Private Sub CommandButton8_Click()
 Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Dim SD As Worksheet: Set SD = Sheets("DATA")
    Dim SD2 As Worksheet: Set SD2 = Sheets("FATURA DÖKÜM FORM")
x = SD.Cells(Rows.Count, "C").End(3).Row
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
 Set r = SD.Range("C1:C" & x).Find(ListBox1.List(i, 1), , , xlWhole)
 If Not r Is Nothing Then
            If SD.Cells(r.Row, "G") Like "*@*" Then
                sart1 = SD.Cells(r.Row, "C")
                sart2 = SD.Cells(r.Row, "A")
                SD2.Range("A12:F" & Rows.Count).ClearContents
                satırno = 12
                SD2.Range("C7") = sart1
                kontrol = 0
                For a = 2 To SD1.Cells(Rows.Count, "C").End(3).Row
                    If SD1.Cells(a, "C") = sart1 And SD1.Cells(a, "A") = sart2 Then
                        kontrol = 1
                        SD2.Cells(satırno, "A") = satırno - 11
                        SD2.Cells(satırno, "B") = SD1.Cells(a, "B")
                        SD2.Cells(satırno, "C") = SD1.Cells(a, "C")
                        SD2.Cells(satırno, "D") = SD1.Cells(a, "D")
                        SD2.Cells(satırno, "E") = SD1.Cells(a, "E")
                        SD2.Cells(satırno, "F") = SD1.Cells(a, "F")
                        satırno = satırno + 1
                    End If
                Next a
                SD2.Cells(satırno + 1, "D") = "Genel Toplam : "
                SD2.Cells(satırno + 1, "E") = WorksheetFunction.Sum(SD2.Range("E12:E" & satırno))
                SD2.Cells(satırno + 1, "F") = WorksheetFunction.Sum(SD2.Range("F12:F" & satırno))
                If kontrol = 1 Then
                isim2 = "Fatura_Listesi_" & SD.Cells(r.Row, "A") & ".pdf"
                SD2.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                yol & isim2, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                OpenAfterPublish:=True
                End If
End Sub
 
Son düzenleme:
Merhaba,

Bir kaç yanlışınız var, if nerde başlıyor nerede bitiyor ipin ucunu kaçırmışsınız.

Tüm dosya olmadığı için elimden geldiğinde düzeltmeye çalıştım ama emin olmak için sizin denemeniz gerekir.

Kod:
Private Sub CommandButton8_Click()

    Application.ScreenUpdating = True
    Application.DisplayAlerts = True
    Dim SD As Worksheet: Set SD = Sheets("DATA")
    Dim SD2 As Worksheet: Set SD2 = Sheets("FATURA DÖKÜM FORM")
    x = SD.Cells(Rows.Count, "C").End(3).Row
    
    For i = 0 To ListBox1.ListCount - 1
    
        If ListBox1.Selected(i) = True Then
        
            Set r = SD.Range("C1:C" & x).Find(ListBox1.List(i, 1), , , xlWhole)
            
            If Not r Is Nothing Then
            
                If SD.Cells(r.Row, "G") Like "*@*" Then
                    sart1 = SD.Cells(r.Row, "C")
                    sart2 = SD.Cells(r.Row, "A")
                    SD2.Range("A12:F" & Rows.Count).ClearContents
                    satırno = 12
                    SD2.Range("C7") = sart1
                    kontrol = 0
                    
                    For a = 2 To SD1.Cells(Rows.Count, "C").End(3).Row
                    
                        If SD1.Cells(a, "C") = sart1 And SD1.Cells(a, "A") = sart2 Then
                            kontrol = 1
                            SD2.Cells(satırno, "A") = satırno - 11
                            SD2.Cells(satırno, "B") = SD1.Cells(a, "B")
                            SD2.Cells(satırno, "C") = SD1.Cells(a, "C")
                            SD2.Cells(satırno, "D") = SD1.Cells(a, "D")
                            SD2.Cells(satırno, "E") = SD1.Cells(a, "E")
                            SD2.Cells(satırno, "F") = SD1.Cells(a, "F")
                            satırno = satırno + 1
                        End If
                        
                    Next a
                    
                    SD2.Cells(satırno + 1, "D") = "Genel Toplam : "
                    SD2.Cells(satırno + 1, "E") = WorksheetFunction.Sum(SD2.Range("E12:E" & satırno))
                    SD2.Cells(satırno + 1, "F") = WorksheetFunction.Sum(SD2.Range("F12:F" & satırno))
                    If kontrol = 1 Then
                    isim2 = "Fatura_Listesi_" & SD.Cells(r.Row, "A") & ".pdf"
                    SD2.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
                    yol & isim2, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
                    OpenAfterPublish:=True
                    
                End If
                
            End If
            
        End If
        
    Next i

End Sub
 
En son da 4 "end if" olmalı gibi;
Kod:
                 OpenAfterPublish:=True
    [COLOR="Red"]     End If:
End If:
End If:
End If
Next[/COLOR]
End Sub
 
Teşekkürler hocam :)
 
Geri
Üst