şimdi elimde bir liste var.

evrak no - tutar

şeklinde iki sütun var. lakin iki seri evrak var.

ilk serinin numaraları 93, 94, 95, 96, ... şeklinde 407'ye kadar sıralı.

ikinci serinin numaraları da 256, 257, 258, ... 558'e kadar sıralı.

lakin en büyük problem, bu iki seri listede birbiriyle karışık. yani evrak no sütununda 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 256, 257, 258, 259, 260, 261, 262, 263, 103, 104, 105 ... diye gidiyor.

isteneni sanırım anladınız, bu iki seriyi birbirinden ayırmak istiyorum. 93 ile başlayıp 407'de biten ve 258 ile başlayıp 558'de biten iki ayrı seri yapmak istiyorum.

evrak no'ya göre sırala dedim ama çakışan evrak no'ları var. 256 ile 407 arasından ikişer tane var, işimi görmedi.

makrosuz bir yolu var mı bunun?

 

biraz örnek versene. seri numarası da ayrı mı? mesela A 256 var bir de B 256 mı var? yoksa A B yazmıyor direkt 256 tutar 256 tutar mı yazıyor.

o zaman hangi tutar hangi serinin nasıl anlayacaksın ki? ayırıcı başka bir faktör yok gibi? yani ayırsan da 256'dan 407'ye kadar çift olanların hangisinin hangi seriye ait olduğunu gösteren herhangi bir şey var mı?

[silinmiş]

makrosuz olmaz o iş. en azından daha ileri bir bilgiye ihtiyaç var. douchebag'in dediği gibi çakışan veriler için ayırt edici başka bir bilgi yoksa makro ile yapılabilir sadece.

makronun mantığı da if komutuyla sırayla gidiyor mu gitmiyor mu diye sorgulatıp yeni bir liste oluşturmak. ama senin verdiğin örnekteki gibi iki ayrı liste sıralı gidiyorsa.

himmet dayi

iyi de benim anlamadığım,

örneğin iki tane olan 259 no'lu evrakların

hangisi 93-407 arasına ait
hangisi 258-558 arasına ait

bunu nasıl anlayacağız?

otopsicocugu

makroyu da yazıyorum:

excel tablosu: i.imgur.com A ve B sütunları senin verilerin, ondan sonraki 4 sütün da ayrılmış halleri.

Sub Makro1()

Dim j, k, a, b As Integer

j = 2
k = 1
a = 2
b = 1

Cells(1, 3) = Cells(1, 1)
Cells(1, 4) = Cells(1, 2)
For i = 2 To 40

If Cells(a, 1) = Cells(b, 1) + 1 Then

Cells(j, 3) = Cells(a, 1)
Cells(j, 4) = Cells(a, 2)

j = j + 1

b = a
a = a + 1
Else

Cells(k, 5) = Cells(a, 1)
Cells(k, 6) = Cells(a, 2)

k = k + 1
a = a + 1


End If

Next i

End Sub

himmet dayi

evet haklısınız aynı sayılı evrakın hangi seriye ait olduğunu belirten bir ayraç yok. bunu sadece ben görerek bilebiliyorum (karışık listedeki yerinden). tabii bu olamdan excel'e otomatik sıralatmam imkansız oluyor bunu hiç düşünmemiştim.

makro yazmaktan daha kolayı, evrak numarasının başına bir sütun açıp serilere A ve B diye harf vermek olabilir.

ve evet bu dediğiniz ufkumu açtı. başına A ve B yazıp A'yı filtrele, B'yi filtrele diyerek yaptık istediğimi.

kibritsuyu
1

mobil görünümden çık