• DİKKAT

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

Çalışma sayfasını değerleri aynı olan sütunlara göre düzenleme

  • Konbuyu başlatan Konbuyu başlatan Dtcar
  • Başlangıç tarihi Başlangıç tarihi
Katılım
8 Mart 2016
Mesajlar
6
Excel Vers. ve Dili
Excel 2013 Pro Plus English
Foruma bugün kayıt oldum öncelikle merhaba. Üye olmadan önce forumdan çok kez yararlanmıştım ama bu sefer artık exceldeki durum örneklere bakarak çözülemeyecek bir hale geldi. Çok uzatmadan hemen sorunuma geçeyim.

Elimde bunun gibi 360.000 satırlık (yaklaşık 5-6 çalışma sayfası) veri var.

AD-SOYAD CİNS. YAŞ TARİH NO
NEVRİZE DEMİR KADIN 56 11.03.2011 28
NEVRİZE DEMİR KADIN 56 11.03.2011 27
NEVRİZE DEMİR KADIN 56 11.03.2011 25
NEVRİZE DEMİR KADIN 56 11.03.2011 24
NEVRİZE DEMİR KADIN 56 11.03.2011 22
NEVRİZE DEMİR KADIN 56 11.03.2011 21
AYNUR KARAATA KADIN 51 11.02.2010 25
AYNUR KARAATA KADIN 51 11.02.2010 22
AYNUR KARAATA KADIN 51 11.02.2010 16
AYNUR KARAATA KADIN 51 11.02.2010 15
AYNUR KARAATA KADIN 51 11.02.2010 14
NAZİYE KAMBEROĞLU KADIN 48 13.06.2008 28
NAZİYE KAMBEROĞLU KADIN 48 13.06.2008 27
NAZİYE KAMBEROĞLU KADIN 48 13.06.2008 26
NAZİYE KAMBEROĞLU KADIN 48 13.06.2008 18
NAZİYE KAMBEROĞLU KADIN 48 13.06.2008 17
NAZİYE KAMBEROĞLU KADIN 48 13.06.2008 16
NAZİYE KAMBEROĞLU KADIN 48 13.06.2008 15
ŞÜKRAN ÇORAKLI KADIN 46 30.10.2009 17
ŞÜKRAN ÇORAKLI KADIN 46 30.10.2009 16
ŞÜKRAN ÇORAKLI KADIN 46 30.10.2009 15
ŞÜKRAN ÇORAKLI KADIN 46 30.10.2009 14
ŞÜKRAN ÇORAKLI KADIN 46 30.10.2009 12
ŞÜKRAN ÇORAKLI KADIN 46 30.10.2009 11

Görüldüğü üzere aynı isime ait pek çok "NO" değişkeni var. Benim istediğim şey bu "NO" değişkenini yanyana yazmak özetle yukarıdaki tabloyu aşağıda yazacağım hale tek tek uğraşmadan getirebilmek. Bunu nasıl yapabilirim? Şimdiden teşekkür ederim, kolay gelsin...

AD-SOYAD CİNS. YAŞ TARİH NO
NEVRİZE DEMİR KADIN 56 11.03.2011 28,27,25,24,22,21
AYNUR KARAATA KADIN 51 11.02.2010 25,22,16,15,14
NAZİYE KAMBEROĞLU KADIN 48 13.06.2008 28,27,26,18,17,16
ŞÜKRAN ÇORAKLI KADIN 46 30.10.2009 17,16,15,14,12,11
 
Bunu formülle yapmak kolay aksam halledebilirm ancak satir sayiniz çok yuksek excel dosyanızın muhtemelen kasacaktir. Makrolu bir çözüm yapmak gerekir. Ve makrodan yana zayifim maalesef. Simdilik formül isimi görür dersen bir ornek gonderirim
 
Açıkçası şu an ne olursa kabulümdür. Deneyelim bakalım kasmaz umarım. Haber bekliyorum sizden kolay gelsin
 
Kod:
Sub indexle()
    Application.ScreenUpdating = False
    mde = Application.Calculation
    Application.Calculation = xlCalculationManual
    
    Set s1 = Sheets("Sayfa1")
    Set s2 = Sheets("Sayfa2")
    s1.Select

    son = Cells(Rows.Count, 1).End(3).Row
    lst = Range("A1:E" & son).Value

    With CreateObject("Scripting.Dictionary")
        For i = 1 To son
            key = lst(i, 1) & "|" & lst(i, 2) & "|" & lst(i, 3) & "|" & lst(i, 4) & "|"
            .Item(key) = .Item(key) & "," & lst(i, 5)
        Next i
        kys = .keys
        itms = .items
    End With

    s2.Select
    Cells.ClearContents
    For i = 0 To UBound(kys)
        bol = Split(kys(i), "|")
        Cells(i + 1, 1).Resize(, 4).Value = bol
        Cells(i + 1, 5).Value = Mid(itms(i), 2)
    Next i
    Application.Calculation = mde
    Application.ScreenUpdating = True
End Sub
 
Selamlar. Uğraştım kurcaladım biraz ama her seferinde run-time error 9 hatası veriyor. Subscript out of range hatası da alıyorum. Neden olabilir acaba?
 
Selamlar. Uğraştım kurcaladım biraz ama her seferinde run-time error 9 hatası veriyor. Subscript out of range hatası da alıyorum. Neden olabilir acaba?

Merhaba
Bu kodu dener misiniz ?
Kod:
Option Explicit
Sub Birleş()
Dim STR As Long, SBT As Long
Application.EnableEvents = False
With WorksheetFunction
For STR = 2 To Cells(Rows.Count, "A").End(xlUp).Row
If .CountIf(Range("A2:A" & STR), Range("A" & STR)) = 1 Then
SBT = STR
Else
Cells(SBT, "E") = Cells(SBT, "E") & "," & Cells(STR, "E")
Range("A" & STR & ":E" & STR).ClearContents
End If
Next
For STR = STR To 2 Step -1
If Cells(STR, "A") = Empty Then
Range("A" & STR & ":E" & STR).Delete
End If
Next
End With
Application.EnableEvents = True
End Sub

2007 Makro Güvenlik ayarı

2003 makro Güvenlik ayarı
Makro güvenlik ayarlarınızı güncelleyin.
 
evet bu sefer oldu, çok teşekkürler. sütun ismi değiştirmek gibi basit 1-2 düzeltme ile halloldu hepsi.
 
Tekrar merhabalar. Bu proje ile ilgili işim bitmiyor malesef:( yeni konu açmak yerine buradan devam etmek istedim konu kalabalığı olmaması adına.
Yukarıda ilk bölümünü hallettiğim excel dosyasında söyle devam etmek istiyorum.

H2 den başlayıp H2246 ya kadar uzayan 11-28 arası sayısal değerlerim var. Ör:
H2: 28,27,25,24,22,21,18,17,15,14,12,11
H3: 25,22,16,15,14
H4: 28,27,26,18,17,16,15 gibi....
Dikkat ederseniz tek bir hücrede virgülle ayrılmış, yer yer sıralı olmayan veya eksileri olan pek çok sayı mevcut. Ama bu sayılar 11-28 arasında hep.
Yapmak istediğim şey 1.si bu hücre içi değerleri sıraya sokmak. Ama bu sıralama 28,27,26,25,24,23,22,21,11,12,13,14,15,16,17,18 şeklinde olmalı. Arada eksikler olsa bile önce 28den 21e inmeli sonra (20 ve 19 yok) 11den tekrar 18e çıkmalı. Ama bunu da J2-J2246 arasında (J sütununda yani) yapmalı ki ben H sütununa bakarak kontrol edebilmeliyim.

2.si de K-Z arası sütunların 1.satırına (K1-Z1 arasına) her hücreye bir rakam gelecek şekilde sırasıyla 28,27,26,25,24,23,22,21,11,12,13,14,15,16,17,18 yazdım. Ve istediğim şey H sütunundaki (H2-H2246) (biraz önce bahsettiğim tek bir hücrede virgülle ayrılmış, yer yer sıralı olmayan veya eksileri olan pek çok sayı ) sayıların K-Z arasındaki kendi yerlerine yazılması.

Yani H3de yazan 25,22,16,15,14 sayıları için N3de 25, Q3de 22, V3de 14, W3de 15, X3de 16 yazmalı. K3-Z3 arasındaki diğer değer yazmayan hücreler boş kalmalı. Ama H3deki sayılar gitmemeli yine kontrol etmek için.
Bu şekilde H2den H2246 ya kadar olmalı.

Umarım açıklayıcı yazmışımdır. Anlatabilmişimdir derdimi. Umarım yardımcı olabilecek birileri çıkar. Şimdiden uğraşlarınız için teşekkür ederim.
 
Merhabalar, yardım edebilecek kimse yok mu acaba?
 
Geri
Üst