• DİKKAT

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

IF Şartı

Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Sayfa1 in B1,B2,B3,B4 hücrelerini kullanmadan sadece B5 hücresinden başlamak üzere veriler girdikçe A5 hücresinden başlamak üzere sicil numaraları 1,2,3.... gidecek, Sayfa1 de yeni sicil verirken Sayfa2 deki sicil numaralarının en büyüğüne göre, yani 5 ise 6 .. vs gibi sicillendirme yapıyor. Sicil numarası verirken Sayfa1 A1 hücresinden başlıyor, Benim yapmak istediğim şey sicillendirmenin Sayfa1 A5 hücresinden başlamasını sağlamak ve koddaki IF şartını daha kısa yazabilirmiyiz veya bu işlemi IF şartı kullanmadan yapabilirmiyiz. Bu konuda yardımlarınızı bekliyorum.
 

Ekli dosyalar

Kod:
Dim bBuYuk As Double
Dim bBuyuk2 As Double
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Rows > 4 Then
'       Target.Address <> "$B$1" And _
'       Target.Address <> "$B$2" And _
'       Target.Address <> "$B$3" And _
'       Target.Address <> "$B$4" Then

     bBuYuk = WorksheetFunction.Max(Columns(1))
    bBuyuk2 = WorksheetFunction.Max(Sheets(2).Columns(1))
    If bBuyuk2 > bBuYuk Then bBuYuk = bBuyuk2
    bBuYuk = bBuYuk + 1
Target.Offset(0, -1) = bBuYuk
Else
    Exit Sub
End If
End Sub
 
Sayın askm ilginize teşekkür ederim. Benim yapmak istediğim başka bir şeyde sicillendirmenin Sayfa1 A1,A2,A3,A4 diikate alınmadan A5 hücresinden itibaren başlamasını sağlamak.Bu konuda yardım edebilirmisiniz lütfen.
 
Tam olarak anlamadım. İlk baştaki if kısmını kısaltmış oldum burda. Eğer bBuYuk = WorksheetFunction.Max(Columns(1)) burda 5. satırdan sonrasına baksın istiyorsanız.
bBuYuk = WorksheetFunction.Max(Range("A5:A65000")) şeklinde deneyebilirsiniz.
 
Evet = WorksheetFunction.Max(Columns(1)) burda 5. satırdan sonrasına baksın istiyorum, dediğniz gibi yapınca bBuYuk = WorksheetFunction.Max(Range("A5:A65000")) satırı kırmızı oluyor.
 
Kod:
Dim bBuYuk As Double
Dim bBuyuk2 As Double
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 And Target.Rows > 4 Then
'       Target.Address <> "$B$1" And _
'       Target.Address <> "$B$2" And _
'       Target.Address <> "$B$3" And _
'       Target.Address <> "$B$4" Then

     bBuYuk = WorksheetFunction.Max(Range("A5:A65000"))
    bBuyuk2 = WorksheetFunction.Max(Sheets(2).Range("A5:A65000"))
    If bBuyuk2 > bBuYuk Then bBuYuk = bBuyuk2
    bBuYuk = bBuYuk + 1
Target.Offset(0, -1) = bBuYuk
Else
    Exit Sub
End If
End Sub
 
Rica ederim. Kolay gelsin.
 
Geri
Üst