• DİKKAT

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

sıra atlıyormu sorgu

Katılım
11 Nisan 2007
Mesajlar
125
Excel Vers. ve Dili
excel=2016
türkçe
öncelikle iyi çalışmalar herkeze.
benim problemim şu A sütununda departmanda makbuz kesen kişilerin işimleri ve kestikleri makbuz numaraları yazmakta
örn: kenan-123, kenan-124, hakan-45, hakan-46 vs. ben bunların makbuzlarının atlayıp atlamadığını sorgulayacağım bir kod veya formül varmıdır.
örnek ekte.
 

Ekli dosyalar

merhaba;
aşağıdaki kod kişiye göre kesilen makbuzları A>Z şeklinde B sütununa sıralıyor.
Kod:
Sub KişiSırala()
Dim a
Dim dizi()
Dim kişi()
Dim sonuç()
Dim alan2 As Range

Columns("B:B").ClearContents
x = Cells(65536, 1).End(xlUp).Row
Set alan2 = Range("b1:b" & x)

ReDim dizi(x)
ReDim kişi(x)
ReDim sonuç(x)

For i = 2 To Cells(65536, 1).End(xlUp).Row 
    a = Split(Cells(i, 1), "-")
    For j = 0 To UBound(a) - 1
        kişi(i) = Trim(Cells(i, 2) & " " & a(j))
    Next j
    dizi(i) = CLng(Trim(a(UBound(a))))
    sonuç(i) = CVar(kişi(i) & "-" & dizi(i))
Next i
   
For w = 1 To x
For k = w + 1 To x
If sonuç(w) > sonuç(k) Then
s = sonuç(k)
sonuç(k) = sonuç(w)
sonuç(w) = s
End If
Next k
Next w
'Sıralanan verinin yazılacağı yer
For j1 = 1 To x
alan2.Cells(j1) = sonuç(j1)
Next
End Sub
 
ilginlendiğiniz için teşekkür ederim

Next j
dizi(i) = CLng(Trim(a(UBound(a))))

burdaki dizinde hata verdi??? deneyemedim. birde a dan zeye sıralıyor demişsiniz benim amacım sıralanmasından ziyade bir kişinin ilk küçük makzu ile son büyük makbuzu arasında yazılmayan varmı diye sorgulatmak.
 
ilginlendiğiniz için teşekkür ederim

Next j
dizi(i) = CLng(Trim(a(UBound(a))))

burdaki dizinde hata verdi???


hatanın sebebi;yüklediğiniz çalışma kitabının 1.sayfasındaki A260 hücresinde veri hatası bulunduğundan ortaya çıkıyor.
(-) işaretsiz.
 
emeğinize sağlık çok teşekkür ederim sıralamayı yaptı, fakat numara atlayıp atlamadığı konusunda ki sorunumun çözümü nasıl olabilir.
 
Merhaba,

Module kopyalarak çalıştırınız.

Kod:
Sub EksikVarMiBul()
 
Dim i As Long, j As Long, k As Long, d() As String, dd() As String
 
Range("A2:A" & Rows.Count).Sort Range("A2") 
Range("B2:B" & Cells(Rows.Count, "B").End(xlUp).Row + 1).ClearContents
 
k = 1
For i = 3 To Cells(Rows.Count, "A").End(xlUp).Row
    d = Split(Cells(i - 1, "A"), "-")
    dd = Split(Cells(i, "A"), "-")
    If StrComp(dd(0), d(0), vbTextCompare) = 0 Then
        If Val(dd(1)) - Val(d(1)) <> 1 Then
            For j = Val(d(1)) + 1 To Val(dd(1)) - 1
                k = k + 1
                Cells(k, "B") = dd(0) & "-" & j
            Next j
        End If
    End If
Next i
 
End Sub
.
 
ömer bey isteğim buydu sağolun valla müthişsiniz. excell03 sizede ayrıca teşekkür ederim. ayırdığınız zaman için sağolun.
 
Son düzenleme:
Geri
Üst