• DİKKAT

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

Formülde hata

  • Konbuyu başlatan Konbuyu başlatan cerit
  • Başlangıç tarihi Başlangıç tarihi
Katılım
1 Eylül 2012
Mesajlar
204
Excel Vers. ve Dili
2007 - 2010 Türkçe 32
Merhaba,formül sayfa geçişlerinde hata veriyor.(renklendirilmiş)
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim Bak As Byte
Dim Aylar As Variant
Dim Bul As Range

Aylar = Array("OCAK", "ŞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", "TEMMUZ", "AĞUSTOS", "EYLÜL", "EKİM", "KASIM", "ARALIK")
If Target.Cells.Count > 1 Then Exit Sub

For Bak = 0 To 11
If ActiveSheet.Name = Aylar(Bak) And Not Intersect(Target, Range("C6:C" & Rows.Count & ", I6:I" & Rows.Count)) Is Nothing Then
Application.EnableEvents = False
If IsEmpty(Target.Value) Then
Target(, 0) = ""
Application.EnableEvents = True
Exit Sub
Else
With Worksheets("GİRİŞ")
Set Bul = .Range("G:G").Find(what:=Target.Value, lookat:=xlWhole)
If Bul Is Nothing Then
MsgBox "Gelir Adı: " & Target.Value & " 'GİRİŞ' sayfasında bulunamadı." & vbLf & "Lütfen kontrol ederek yeniden deneyiniz.", vbExclamation
Application.EnableEvents = True
Exit Sub
Else
Target(, 0) = .Cells(Bul.Row, "A") & .Cells(Bul.Row, "B") & .Cells(Bul.Row, "F")
Application.EnableEvents = True
Exit Sub
End If
End With
End If
End If
Next
End Sub
 
Kod:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    Dim Bak As Byte
    Dim Aylar As Variant
    Dim Bul As Range

    On Error GoTo Cikis

    Aylar = Array("OCAK", "ŞUBAT", "MART", "NİSAN", "MAYIS", "HAZİRAN", _
                  "TEMMUZ", "AĞUSTOS", "EYLÜL", "EKİM", "KASIM", "ARALIK")

    If Target.Cells.CountLarge > 1 Then Exit Sub

    For Bak = 0 To 11

        If Sh.Name = Aylar(Bak) Then

            If Not Intersect(Target, Sh.Range("C6:C" & Sh.Rows.Count & _
                                              ",I6:I" & Sh.Rows.Count)) Is Nothing Then

                Application.EnableEvents = False

                If IsEmpty(Target.Value) Then
                    Target.Offset(0, -1).Value = ""
                Else
                    With Worksheets("GİRİŞ")
                        Set Bul = .Range("G:G").Find(What:=Target.Value, LookAt:=xlWhole)

                        If Bul Is Nothing Then
                            MsgBox "Gelir Adı: " & Target.Value & _
                                   " 'GİRİŞ' sayfasında bulunamadı." & vbLf & _
                                   "Lütfen kontrol ederek yeniden deneyiniz.", vbExclamation
                        Else
                            Target.Offset(0, -1).Value = _
                                .Cells(Bul.Row, "A").Value & _
                                .Cells(Bul.Row, "B").Value & _
                                .Cells(Bul.Row, "F").Value
                        End If
                    End With
                End If

            End If

            Exit For
        End If

    Next Bak

Cikis:
    Application.EnableEvents = True

End Sub

dene bakalım
 
Merhaba,

Paylaştığınız blok FORMÜL değil MAKRO kodlarıdır.

Başlığınızı da MAKRO bölümüne açmışsınız. Ama FORMÜL HATASI diye belirtmişsiniz.

Bu ifadeler cevap vermek isteyenleri yanlış yönlendirmiş oluyor. Dikkat ederseniz sevinirim.
 
Geri
Üst