• DİKKAT

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

makro ile makbuz sıra no

Katılım
13 Mayıs 2005
Mesajlar
761
Excel Vers. ve Dili
2010 Türkçe
Örnek dosyada aktif satırda e sütununa evet seçtiğimde a sütunu aktif satırına otomatik sıra numarası vermesini istiyorum yanlış yaparsam hayıra çevirdiğimde aktif satırı 0 yapmalı sıra numarsını iptal etmeli 1 den başlayarak 2000 satırlık bir işlem yapacağım. Makro ile olmasını istiyorum yardımlarınız için teşekkürler
 

Ekli dosyalar

Aşağıdaki kodları sayfanın kod bölümüne (sayfa adına sağ tıklayıp kod görüntüle deyince açılan sayfaya) yapıştırıp deneyin. K2:K3000 aralığında değişiklik yaptığınızda kodlar çalışır:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [K2:K3000]) Is Nothing Then Exit Sub
a = Target.Row
If Target = "EVET" Then
    Cells(a, "A") = a - 1
Else
    Cells(a, "A") = 0
End If
End Sub
 
Alternatif olarak;
A2 hücresine
Kod:
=EĞER(K2="EVET";MAK($A$1:A1)+1;0)
formülü ekleyip aşağıya doğru çoğaltın.
 
Yusuf bey teşekkür ederim olmuş ama bi sıkıntım var mesela evet sütunu sıralı değil arada hayır olup 6-7 satır sonrada evet diyebilirim bu sefer satır numarası sayar gibi sayıyor sanırım. Benim istediğim o an A sütunundaki en yüksek sayının +1 olarak artmasını istiyorum.

ÖRNEK
2 satır evet makbuz no 1
3 satır evet makbuz no 2
4 satır hayır makbuz no 0
5 satır hayır makbuz no 0
6 satır evet makbuz no 3
 
Deneyiniz.

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Veri As Range
   
    On Error GoTo 10
   
    Application.EnableEvents = False
   
    For Each Veri In Intersect(Target.Cells, Range("K2:K" & Rows.Count))
        If Veri.Value = "EVET" Then
            Veri.Offset(, -10).Value = WorksheetFunction.Max(Range("A:A")) + 1
        Else
            Veri.Offset(, -10).Value = 0
        End If
    Next
   
10  Application.EnableEvents = True
End Sub
 
Yusuf bey teşekkür ederim olmuş ama bi sıkıntım var mesela evet sütunu sıralı değil arada hayır olup 6-7 satır sonrada evet diyebilirim bu sefer satır numarası sayar gibi sayıyor sanırım. Benim istediğim o an A sütunundaki en yüksek sayının +1 olarak artmasını istiyorum.

ÖRNEK
2 satır evet makbuz no 1
3 satır evet makbuz no 2
4 satır hayır makbuz no 0
5 satır hayır makbuz no 0
6 satır evet makbuz no 3

Peki sonra 4. Satırı Evet yaparsanız kaç numara olacak?
 
K sütunu Evet olunca A sütununa A sütunundaki en büyük sayının bir fazlasını veren kod aşağıdaki gibidir:

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [K2:K3000]) Is Nothing Then Exit Sub
a = Target.Row
If Target = "EVET" Then
    Cells(a, "A") = WorksheetFunction.Max([A2:A3000]) + 1
Else
    Cells(a, "A") = 0
End If
End Sub
 
Korhan Hocam teşekkür ederim yoğunluktan dönüş yapamadım. Yusuf beyin örneği tam isteğime göre yukarı aşağı hangi satırda evet yaparsam en büyük sayıyı yazacak şekilde olmalı. Hepinize teşekkür ederim iyiki varsınız.
 
Ben de kendi önerdiğim kod da talebiniz yönünde küçük bir revize yaptım. Dilediğinizi kullanabilirsiniz.

Benim önerimde toplu hücre seçerek işlem yapabilirsiniz. Tek farkı budur.
 
Emeğiniz için teşekkür ederim hocam çok güzel olmuş elinize sağlık.
 
Geri
Üst