• DİKKAT

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

Veri doğrulama ile yapılan köprüde kod hatası

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,677
Excel Vers. ve Dili
Excel 2010 32 bit
Merhaba ustadlar,
Ustadların verdiği kodla Ek dosyada veri doğrulama ile köprüleme yaptım.
Fakat mart adlı sahifede bulunan kod nedeniyle sorun çıkartıyor.
Bunu nasıl çözebiliriz..
Teşekkür ederim.
 

Ekli dosyalar

MART isimli sayfada iki kez Worksheet_Change olayını kullanmışsınız. Birin iptal edin yada birleştirin.
 
Levent bey,
Aşağıdaki kırmzı bölgeyi sildim.Yine hata verdi.
Yukarıdaki kodu iptal etmeden hangi kısmı silmemiz gerekiyor veya nasıl bir değişiklik yapmamız gerekiyor.
Çok teşekkür ederim.

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo son
If Intersect(Target, [G:G]) Is Nothing Then Exit Sub
If Target.Value = "" Then
Target.Offset(0, 2) = ""
Target.Offset(0, 4) = ""
Target.Offset(0, 5) = ""

Else
If Target.Offset(0, 2) = "" Then Target.Offset(0, 2) = Date
If Target.Offset(0, 4) = "" Then Target.Offset(0, 4) = "TAHSİLAT"
If Target.Offset(0, 5) = "" Then Target.Offset(0, 5) = "SATIŞ-TAKSİT"
End If
son:
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A2]) Is Nothing Then Exit Sub
On Error Resume Next
Sheets(CStr(Target.Value)).Select
End Sub
 
Aşağıdaki kodların tamamını silin.

Kod:
[COLOR=black]Private Sub Worksheet_Change(ByVal Target As Range)
[/COLOR]If Intersect(Target, [A2]) Is Nothing Then Exit Sub
On Error Resume Next
Sheets(CStr(Target.Value)).Select
End Sub
 
Levent bey tekrar merhaba,
4 nolu mesajınızdaki kod ile aşağıdaki kod aynı sahifede çalışması lazım.
Her ikiside "Private Sub Worksheet_Change(ByVal Target As Range)" özellikli.
4 nolu mesajınızdaki kodun bu koda eklenmesi lazım ben yapamadın

Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo son
If Intersect(Target, [G:G]) Is Nothing Then Exit Sub
If Target.Value = "" Then
Target.Offset(0, 2) = ""
Target.Offset(0, 4) = ""
Target.Offset(0, 5) = ""

Else
If Target.Offset(0, 2) = "" Then Target.Offset(0, 2) = Date
If Target.Offset(0, 4) = "" Then Target.Offset(0, 4) = "TAHSİLAT"
If Target.Offset(0, 5) = "" Then Target.Offset(0, 5) = "SATIŞ-TAKSİT"
End If
son:
End Sub
 
MART sayfasındaki kodu aşağıdaki ile değiştirin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo son
If Not Intersect(Target, [A2]) Is Nothing Then
On Error Resume Next
Sheets(CStr(Target.Value)).Select
End If

If Not Intersect(Target, [G:G]) Is Nothing Then
If Target.Value = "" Then
Target.Offset(0, 2) = ""
Target.Offset(0, 4) = ""
Target.Offset(0, 5) = ""
Else
If Target.Offset(0, 2) = "" Then Target.Offset(0, 2) = Date
If Target.Offset(0, 4) = "" Then Target.Offset(0, 4) = "TAHSİLAT"
If Target.Offset(0, 5) = "" Then Target.Offset(0, 5) = "SATIŞ-TAKSİT"
End If
End If
son:
End Sub
 
Sn.Menteşoğlu,
Her zamanki gibi olacak ama çok teşekkür ederim.
Sizlerin emeklerinize karşılık ancak bunu yapabiliyoruz.
Selametle kalın.:)
 
veri doğrulama, anladığım kadarıyla, 2003 sürümünde kullanılamayan birşey... bu durumda 2003 te de kullanılabilecek olması açısından, herhangi bir sütuna, tarih aralığı tanımlanarak veri doğrulama işlemini yapabileceğim ve hem de tarih giriş formatını belirleyebileceğim(GGAAYY gibi mesela) bir kod yazmak gerekiyor.. bir önceki ayın ilk gününden bu ayın son gününe kadar gibi.. var mıdır böyle bir kodu bana yazabilecek olan, ustalar, şimdiden teşekkürler :)
 
Geri
Üst