• DİKKAT

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

  • Forum yazılımı güncelenmiştir.

    Beklenmedik durumlar görürseniz lütfen yönetime iletin.

Çözüldü Sevkiyata bağlı Otomatik gün artırımı

enesgumus05

EXCEL ÖĞRENCİSİ
Katılım
27 Kasım 2025
Mesajlar
10
Excel Vers. ve Dili
2019 TR 64 Bit

sorum şu

sevk olmayan gün sütununda ki rakamları sevk olmayan gün kadar yazıyorum mesela ahmete 4 gündür sevkiyat yok ve karşılığında 4 yazıyor

ama bugün sevkiyat olduysa o hücreyi 0 yapıyorum sevk olduğu günü 0lıyorum yani ÖRNEKTE olduğu gibi

ben bu işlemi elle yapıyorum ve tarihleri sütun olarak elle ekle yapıp içlerini eğerhatadüşeyara ile dolduruyorum

ben istiyorum ki yeni günü ekleyip carilerin sevk olup olmadığını hallettikten sonra

sevk olmayan gün sütunundaki rakamlar otomatik olarak sevk olmadıysa o gün mesela sevk olmayan gün 3 ise ve yeni eklenen sütunda da hala sevk yok ise sevk olmayan gün otomatik 3ten 4 olsun

ama eğer yeni sütunda sevk olduysa sevk olmayan gün hücresi 0 yazsın istiyorum



desteklerinizi bekler başarılar dilerim
 
Son düzenleme:

sorum şu

sevk olmayan gün sütununda ki rakamları sevk olmayan gün kadar yazıyorum mesela ahmete 4 gündür sevkiyat yok ve karşılığında 4 yazıyor

ama bugün sevkiyat olduysa o hücreyi 0 yapıyorum sevk olduğu günü 0lıyorum yani emrede olduğu gibi

ben bu işlemi elle yapıyorum ve tarihleri elle ekle yapıp içlerini eğerhatadüşeyara ile dolruruyorum

ben istiyorum ki yeni günü ekleyip carilerin sevk olup olmadığı hallettikten sonra

sevk olmayan gün sütunundaki rakamlar otomatik olarak sevk olmadıysa o gün mesela sevk olmayan gün 3 ise ve yeni eklenen sütundada hala sevk 0 ise sevk olmayan gün otomatik 3ten 4 olsun

ama eğer yeni sütunda sevk olduysa sevk olmayan gün hücresi 0 yazsın istiyorum



desteklerinizi bekler başarılar dilerim

dosya paylaşın
 
HAYIR HOCAM BU SİZE GÖNDERDİĞİM SADECE ÖRNEK HER GÜN SÜTUN EKLİYORUM HER GÜNÜN SEVKİYATINI ATIYORUM CARİLERE ORDAKİ GÜNLER 300 BİLE OLABİİR YANİ 300 GÜN SEVKİYAT ÇIKMAMIŞ BİLE OLABİLİR
 
HAYIR HOCAM BU SİZE GÖNDERDİĞİM SADECE ÖRNEK HER GÜN SÜTUN EKLİYORUM HER GÜNÜN SEVKİYATINI ATIYORUM CARİLERE ORDAKİ GÜNLER 300 BİLE OLABİİR YANİ 300 GÜN SEVKİYAT ÇIKMAMIŞ BİLE OLABİLİR
makro olabilir mi. illa formül mü gerekli
 
YOK HAYIR MAKRODA OLABİLİR TABİKİ BEN HENÜZ BAŞINDA OLDUĞUM İÇİN BİLMİYORUM AMA YAPABİLİRSENİZ MUTLU OLURUM
 
YOK HAYIR MAKRODA OLABİLİR TABİKİ BEN HENÜZ BAŞINDA OLDUĞUM İÇİN BİLMİYORUM AMA YAPABİLİRSENİZ MUTLU OLURUM
Alttaki kodu kullanabilirsiniz. Excelinde VBA modulüne git. Oraya bir module ekle alttaki kodu module e yapıştır. daha sonra exceline bir şekil ekle. bu şekile sağ tıklayıp makro ata de. çıkan makroyu seç tamam de. artık o şekle bastığında istediğin işlem otomatik olur. exceli kaydederken makro içerebilen excel dosyası diye kaydet (xlsm).
Kod:
Sub IlkPozitifeKadar_Say()
    Dim ws As Worksheet
    Dim StartRow As Long
    Dim lastRowE As Long
    Dim i As Long, j As Long
    Dim startCol As Long
    Dim limitCol As Long
    Dim sayac As Long
    Dim cellVal As Variant
    
    Set ws = ActiveSheet        'İstersen Worksheets("SayfaAdı") yap
    
    StartRow = 3                'Başlangıç satırı (burayı değiştir)
    startCol = 5                'E sütunu = 5
    
    'E sütunundaki son dolu satır (buraya kadar döngü)
    lastRowE = ws.Cells(ws.Rows.Count, "E").End(xlUp).Row
    If lastRowE < StartRow Then
        MsgBox "E sütununda " & StartRow & " veya daha büyük dolu satır yok.", vbExclamation
        Exit Sub
    End If
    
    'Satır 2'deki (row = 2) en sağdaki dolu sütunu bul — bu bizim sınır sütunumuz
    limitCol = ws.Cells(2, ws.Columns.Count).End(xlToLeft).Column
    If limitCol < startCol Then
        MsgBox "Satır 2'de E sütunundan sağda dolu bir sütun bulunamadı.", vbExclamation
        Exit Sub
    End If
    
    Application.ScreenUpdating = False
    For i = StartRow To lastRowE
        sayac = 0
        'E'den limitCol'a kadar kontrol et
        For j = startCol To limitCol
            cellVal = ws.Cells(i, j).Value
            'Eğer hücre sayısal ve > 0 ise dur (pozitif bulundu)
            If IsNumeric(cellVal) Then
                If cellVal > 0 Then
                    Exit For
                End If
            Else
                'Sayısal olmayan hücreler de "pozitif değil" sayılır -> sayacı artır
                '(eğer metinleri saymak istemezsen burayı değiştir)
            End If
            sayac = sayac + 1
        Next j
        
        'Sayacı D sütununa yaz
        ws.Cells(i, "D").Value = sayac
    Next i
    Application.ScreenUpdating = True
    
    MsgBox "İşlem tamamlandı. Satır 2'deki sınır sütunu: " & _
           Split(ws.Cells(1, limitCol).Address, "$")(2) & " — Son satır: " & lastRowE, vbInformation
End Sub
 
HOCAM ELİNİZE EMEĞİNİZE SAĞLIK. SİZE ATTIĞIM ÖRNEK DOSYA İÇİN HARİKA ÇALIŞIYOR. KENDİ DOSYAMDA ARALARDA DAHA FAZLA SÜTUN VE SATIR OLDUĞU İÇİN VBA KODLARIYLA OYNAYIP KENDİ DOSYAMA UYDURMAYA ÇALIŞACAĞIM TEŞEKKÜR EDERİM
 
HOCAM ELİNİZE EMEĞİNİZE SAĞLIK. SİZE ATTIĞIM ÖRNEK DOSYA İÇİN HARİKA ÇALIŞIYOR. KENDİ DOSYAMDA ARALARDA DAHA FAZLA SÜTUN VE SATIR OLDUĞU İÇİN VBA KODLARIYLA OYNAYIP KENDİ DOSYAMA UYDURMAYA ÇALIŞACAĞIM TEŞEKKÜR EDERİM
SONUÇ HARİKA KENDİ DOSYAMDA SATIR SÜTUN İSİM VE RAKAMLARINI ADAPTE ETTİM TAM İSTEDİĞİM GİBİ ÇALIŞTI
 
Geri
Üst