H

Çözüldü Birleştirilmiş Hücrelerin Sıralanması

  • Konuyu başlatan Konuyu başlatan hakki83
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

hakki83

Site Üyesi
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Genel - ✅ SIRALAMA Kodundaki C2 nin Anlamı Nedir?


Merhabalar iyi günler

Yukardaki linkteki sayfanın sonunda, severek kullandığım, Sayın Ömer Baran’ın birleştirilmemiş (normal) hücrelerinin sıralamasını yapan, sadeleştirilmiş, detaysız, güzel kodlar vardır.



Aynı şekilde sadece A sütunundaki birleştirilmiş hücrelerin sıralamasını yapan sadeleştirilmiş, basit kodları rica ederim.



Tıpkı öncekinde olduğu gibi

Başlıklar 1. satırda olacaktır

Birleştirilmiş hücreler yalnızca A sütununda mevcut olacaktır.

Sıralama A sütununa göre yapılacaktır

Sıralamayı yapan (artan-azalan) minik düğmemiz M1 hücresinde olacaktır.

Biraz zaman geçsin öyle yeni konu açayım diyordum ama bekleyemedim.
 

Ekli dosyalar

Bilgisayarda değilim, daha evvelki bir konu sayfalarındaki ilk cevaplarımdan birinin ekindeki belge işinizi görüyor olmalı diye düşünüyorum.
Sayın Ömer Baran, görmesine görür de, vermiş olduğunuz sadeleştirilmiş kodlarla oluşturduğum dosya, biraz hoşuma gitti. Diğeri de böyle olsun istedim.

Hiç aciliyeti yok, müsait olduğunuzda merak ve hevesle bekleyeceğim kodları
Saygılarımla
 
Sayın @hakki83 .

Eklediğiniz örnek belgenin A sütununda, öngörülmeyen bir yapı mevcut.
Şöyle ki; birleştirilmiş hücrelerde tek bir veri yerine ALT+ENTER işlemiyle oluşmuş 1'den faza satırlık veri mevcut.
Ayrıca bu şekilde aynı hücredeki satır sayısının da karşısındaki satır sayısına eşit olup olmadığını netleştirmek,
aynı değilse nasıl bir işlem yapılmak istenildiğinin açıklanması gerekiyor.

Yani isteğiniz birleştirilmiş hücrelerin olduğu alandaki verilerin sıralanması değil,
aynı hücrede ALT+ENTER işlemiyle satırlara ayrılmış verilerin, ayrı hücreler halinde olacak şekilde ayrıştırılması işlemi.

Eklenen örnek belgeye göre aşağıdaki kodu kullanabilirsiniz.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(29 satır)

.
 
Sayın @hakki83 .

Eklediğiniz örnek belgenin A sütununda, öngörülmeyen bir yapı mevcut.
Şöyle ki; birleştirilmiş hücrelerde tek bir veri yerine ALT+ENTER işlemiyle oluşmuş 1'den faza satırlık veri mevcut.
Ayrıca bu şekilde aynı hücredeki satır sayısının da karşısındaki satır sayısına eşit olup olmadığını netleştirmek,
aynı değilse nasıl bir işlem yapılmak istenildiğinin açıklanması gerekiyor.

Yani isteğiniz birleştirilmiş hücrelerin olduğu alandaki verilerin sıralanması değil,
aynı hücrede ALT+ENTER işlemiyle satırlara ayrılmış verilerin, ayrı hücreler halinde olacak şekilde ayrıştırılması işlemi.

Eklenen örnek belgeye göre aşağıdaki kodu kullanabilirsiniz.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [M1]) Is Nothing Then Exit Sub
If Target <> "" Then BIRLESTIRILMIS_SIRALA
End Sub

Sub BIRLESTIRILMIS_SIRALA()
yon = 2: son = Cells(Rows.Count, 1).End(3).Row
If son = 2 Then Exit Sub
Application.DisplayAlerts = False
If [M1] = "ARTAN" Then: yon = 1
Range("A2:E" & son).UnMerge
For sat = 2 To son
If InStr(Cells(sat, 1), Chr(10)) > 0 Then
adt = Len(Cells(sat, 1)) - Len(Replace(Cells(sat, 1), Chr(10), ""))
For asat = adt To 1 Step -1
Cells(sat + asat, 1) = Split(Cells(sat, 1), Chr(10))(asat)
Next
Cells(sat, 1) = Split(Cells(sat, 1), Chr(10))(0)
End If
If Cells(sat, 1) = "" Then: Cells(sat, 1) = Cells(sat - 1, 1)
Next
Range("A2:E" & son).Sort [A1], yon
For sat = son To 3 Step -1
If Cells(sat, 1) <> Cells(sat - 1, 1) Then GoTo 10
If Cells(sat, 1) = Cells(sat - 1, 1) Then say = say + 1
Range(Cells(sat - 1, 1), Cells(sat, 1)).Merge
10: Next
Range("A2:E" & son).VerticalAlignment = xlCenter
End Sub

.
Sayın Ömer Baran dışardayım. İlk fırsatta deneyeceğim. Gerekirse (alt-enter) yapılmamış örnek göndereceğim.

(Alt enter’i sadece görünüşü güzel olsun diye kullanmıştım. Alt enterli hücrelerin hiç bir ehemmiyeti yok. Siz o hücreleri lütfen alt entersiz olarak varsayın)

Teşekkürler
 
Yanlış ifade etmiş olmalıyım.

Kod zaten ALT+ENTER ile satır başı yapılmış hücre içeriklerini satırlara dağıtıyor ardından sıralamayı yapıyor.

Açılış mesajınızdan anladığım ise; birleştirilimş bir hücrede TEK veri olacağı,
bu birleştirilmiş hücre yapısı bozulmadan (birleştirilmiş hücrenin karşısındaki veriler de onunla birlikte hareket ederek)
sıralamanın yapılmasını istediğiniz yönündeydi.

Aynı kod'un, birleştirilmiş hücrede TEK veri olması halinde de sorunsuz çalışması lazım.
Yeni belge eklemeden, aynı kodu durumu böyle olan belgede önce bir deneyin isterseniz.
 
Yanlış ifade etmiş olmalıyım.

Kod zaten ALT+ENTER ile satır başı yapılmış hücre içeriklerini satırlara dağıtıyor ardından sıralamayı yapıyor.

Açılış mesajınızdan anladığım ise; birleştirilimş bir hücrede TEK veri olacağı,
bu birleştirilmiş hücre yapısı bozulmadan (birleştirilmiş hücrenin karşısındaki veriler de onunla birlikte hareket ederek)
sıralamanın yapılmasını istediğiniz yönündeydi.

Aynı kod'un, birleştirilmiş hücrede TEK veri olması halinde de sorunsuz çalışması lazım.
Yeni belge eklemeden, aynı kodu durumu böyle olan belgede önce bir deneyin isterseniz.
Severek denemeler yapıp bir istirhamım olursa size arz edeceğim.
 
Şu an forum yazılımında güncelleme yapıldığından
cevaplarda biçimlendirme yapamıyorum.
Verdiğim koddaki aşağıdaki kısım aynı hücre içerisinde ALT+ENTER ile satır başı yapılarak veri girişi yapılmış ve
hücre içerisindeki ALT+ENTER ile oluşturulmuş satır sayısı kadar hücre birleştirilmişse onu ayıklayıp hücrelere dağıtmak için var.

Belgenizde bu tür ALT+ENTER işlemi yok, sadece hücre birleştirmesi varsa;
kodun aşağıdaki satırları silinebilir.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(7 satır)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst