Bir Alt Satıra Göre Ardışık Sıralama

Katılım
14 Ocak 2008
Mesajlar
35
Excel Vers. ve Dili
Office Excel 2007
Selam arkadaşlar ,

Sorunun açıklamasını dosya içerisine yaptım.

Zaman ayıracak arkadaşlara şimdiden emekleri için teşekkürler ,

iyi çalışmalar,
 

Ayhan Ercan

Özel Üye
Katılım
10 Ağustos 2005
Mesajlar
1,571
Excel Vers. ve Dili
Microsoft 365- Türkçe
Merhaba Sn oderkaya

Ek Dosyayı "SIRALA" düğmesini çalıştırarak inceleyiniz...

Kod:
Private Sub CommandButton1_Click()
On Error Resume Next
Dim k As Range
For Each k In Range("a7:S7")
    k.Offset(-1, 0) = 1
    If k.Value = 0 And k.Offset(0, -1).Value = 0 Then k.Offset(-1, 0).Value = k.Offset(-1, -1).Value + 1
    If k.Value = 0 And k.Offset(0, -1).Value = 1 Then k.Offset(-1, 0).Value = k.Offset(-1, -1).Value + 1
    If k.Value = 1 And k.Offset(0, -1).Value = 0 Then k.Offset(-1, 0).Value = k.Offset(-1, -1).Value + 1
    If k.Value = 1 And k.Offset(0, -1).Value = 1 Then k.Offset(-1, 0).Value = k.Offset(-1, -1).Value
Next
End Sub
 
Katılım
14 Ocak 2008
Mesajlar
35
Excel Vers. ve Dili
Office Excel 2007
Teşekkürler sayın Ercan ,

ancak bu datalar örnekte a7 den S7 ye kadar. Gerçek hayatta A7 den S150 ye kadar vs. olabilir.
Ben " For Each k In Range("a7:S7") " değerini denemek için A7:S100 yaptığımda çok farklı çalıştı, işin ilginç tarafı eski haline getirip ("a7:S7") yaptığım halde de çalışmadı, tüm değerleri 1 olaak atadı ?

Bilg.
 
Katılım
14 Ocak 2008
Mesajlar
35
Excel Vers. ve Dili
Office Excel 2007
Soruyu Revİze Ettİm !

Açıklama dosyanın içerisinde ,

teşekkürler,
 
Katılım
14 Ocak 2008
Mesajlar
35
Excel Vers. ve Dili
Office Excel 2007
Ardışık Sıralama

Merhaba,

aslında macro ile çözümü olabilir ? diye düşündüğüm için bir de bu başlık altında sorayım dedim.
Soru dosyanın içindedir,

Çok Teşekkürler ,
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Dosyanız ekte.:cool:
Kod:
Sub ardisik()
Dim no As Integer
no = 1
For i = 2 To 58
    Cells(5, i).Value = no
    If Cells(8, i + 1).Value = 1 Then no = no + 1
Next i
MsgBox "işlem tamamlandı"
End Sub
 
Katılım
14 Ocak 2008
Mesajlar
35
Excel Vers. ve Dili
Office Excel 2007
çok teşekkürler sayın Gizlen ,


For i = 2 To 100 yaparak işlem yapılacak 100 sütuna çıkardım, ancak eğer 65 lik bir data varsa bu sefer de son kayıt sonrası 100 e kadar her hücreye sürekli 65 yazıyor.

Çok önemli değil ancak bu işi 8. satırdaki hücrelerin dolu olup olmamasına bakarak yaparsa çok iyi olacak.Böylelikle işlemi 100 hücrede çalıştıracak,ancak 8. satırda hangi hücreye kadar dolu ise o kadar ardışık yazacak, sonrasını boş bırakacak.

emeğinize sağlık ,
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Aşağıdaki kodları kullanınız.:cool:
Kod:
Sub ardisik()
Dim no As Integer
no = 1
For i = 2 To Cells(8, 256).End(xlToLeft).Column
    Cells(5, i).Value = no
    If Cells(8, i + 1).Value = 1 Then no = no + 1
Next i
MsgBox "işlem tamamlandı"
End Sub
 
Katılım
14 Ocak 2008
Mesajlar
35
Excel Vers. ve Dili
Office Excel 2007
Çok teşekkürler,

data elimde değil, ancak tam istediğim gibi çalışıyor görünüyor.

Yarın ilk iş deneyeceğim,

teşekkürler,

Macro yazımı başlangıcı için gerçekten açıklayıcı bir kaynak önerebilir misiniz, daha nereye kadar başkalarına böyle yük olup, hazır kodlar üzerinde mutasyon yoluyla iş çıkarmak :) veya copy/paste 'çılık :))

çok çok teşekkürler ,

syg.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Kaynak olarak sitede reklamı yapılan kitaplardan bir tanesini edinebilirsiniz.
Ve forumu takip ediniz.:cool:
 
Katılım
14 Ocak 2008
Mesajlar
35
Excel Vers. ve Dili
Office Excel 2007
teşekkürler sayın Gizlen ,
 
Üst