makro ile makbuz sıra no

burhancavus61

Altın Üye
Katılım
13 Mayıs 2005
Mesajlar
757
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

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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
 

usubaykan

Destek Ekibi
Destek Ekibi
Katılım
16 Mayıs 2008
Mesajlar
561
Excel Vers. ve Dili
Ev : Office Excel 2003
İş : Office Excel 2003
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.
 

burhancavus61

Altın Üye
Katılım
13 Mayıs 2005
Mesajlar
757
Excel Vers. ve Dili
2010 Türkçe
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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,328
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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?
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
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
 

burhancavus61

Altın Üye
Katılım
13 Mayıs 2005
Mesajlar
757
Excel Vers. ve Dili
2010 Türkçe
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.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,328
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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.
 

burhancavus61

Altın Üye
Katılım
13 Mayıs 2005
Mesajlar
757
Excel Vers. ve Dili
2010 Türkçe
Emeğiniz için teşekkür ederim hocam çok güzel olmuş elinize sağlık.
 
Üst