• DİKKAT

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

VBA farklı hücrelerden koşullu otomatik sıralama

Katılım
23 Haziran 2020
Mesajlar
10
Excel Vers. ve Dili
2015 türkçe
Resimde solda bulunan fiş numaralarının (başlangıç ve bitiş numaraları dahil) sağ tarafa aynı sırada hepsini yazdırmak istiyorum. Örnekte elle yazdım ancak makro ile otomatik sıralama lazım. Örnekte az miktarda.. bu bazen 100 lerce olabiliyor. Şimdiden yardımlarınız için teşekkür ediyorum .IMG-20210824-WA0012.jpg
 
Altın üye olarak dosyanızı ekleseniz, üzerinde çalışsak daha hızlı olacak.
Renklendirme de olacak mı onu da belirtirseniz iyi olur.
 
Hocam işyeri bilgisayarı internet bağlantısı yok telefondan foruma giriyorum o yüzden bu şekilde yolladım.
 
C++:
Sub FişNo()
Dim i As Integer
Dim dizi()
Son = Range("B" & Rows.Count).End(3).Row ' B de alt tarafı boş kabul ettim
k = 4 ' F deki ilk satır. gerekiyorsa değiştirin
For i = 4 To Son 'B deki ilk satır farklıysa değiştirebilirsin.

    If Not IsNumeric(Range("C" & i)) Or Not IsNumeric(Range("D" & i)) Then GoTo Atla1
    If Range("C" & i) > Range("D" & i) Then GoTo Atla1
    For x = Range("C" & i) To Range("D" & i)
        Range("F" & k) = x
        k = k + 1
    Next x
Atla1:
Next i
End Sub
 
Alternatif:

PHP:
Sub doldur()
son = Cells(Rows.Count, "C").End(3).Row
eski = Cells(Rows.Count, "F").End(3).Row
Application.ScreenUpdating = False
    If eski > 2 Then
        Range("F4:H" & eski).Clear
    End If
    For kisi = 4 To son
        If IsNumeric(Cells(kisi, "C")) And IsNumeric(Cells(kisi, "D")) Then
            If Cells(kisi, "C") <= Cells(kisi, "D") Then
                For fis = Cells(kisi, "C") To Cells(kisi, "D")
                    yeni = Cells(Rows.Count, "F").End(3).Row + 1
                    Cells(yeni, "F") = fis
                Next
            End If
        End If
    Next
    enson = Cells(Rows.Count, "F").End(3).Row
    Range("F4:H" & enson).Borders.LineStyle = 1
    Range("G4:G" & enson).NumberFormat = "dd.mm.yyyy"
    Range("H4:H" & enson).NumberFormat = "#,##0.00"
Application.ScreenUpdating = True
MsgBox "İşlem Tamamlandı!", vbInformation
End Sub
 
Geri
Üst