• DİKKAT

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

çok fazla sayıda sütundaki veriyi tek sütunda toplama - Power user'lara özel!

Katılım
7 Mayıs 2009
Mesajlar
65
Excel Vers. ve Dili
Excel 2007
Merhabalar,

Ekli dosyada da göreceğiniz üzere sayısı değişen birçok farklı sütuna dağılmış bir veri kümesi var elimde. Amacım bu verilerin hepsini tek bir sütunda - örneğin A sütununda toplamak ve tüm verileri altalta görebilmek.

Yardımlarınızı rica ediyorum.

P.S. Özellikle Power user'lardan yardım talep etmekteyim.

Saygılar,

Çağdaş
 

Ekli dosyalar

merhaba;
ekli dosyayı inceleyiniz.
 

Ekli dosyalar

Son düzenleme:
Kimse kusura bakmasın :) Niye dağılıyor niye toplanıyor anlamış değilim.. Ne olması gerekiyor bir bilinse neler yapılır neler.. Ben yapamazsam bile değerli Uzmanlarımız yapar..
 
Şöyle izah edeyim ; ilk örnekte amaç keliemeleri ayrı sütunlara bölmekti.
İkinci örnekte ise farklı sütunlara dağılan keliemelerin hepsini aynı sütunda toplamak.

Amaç şu: bu text'lerde yer alan kelimelerin hangi sıklıkla tekrarladığını bulmak istiyorum.
Böylelikle şikayetlerde yer alan olumsuz ifadele öbeklerini tespit etmiş olacağım.
Aslında amacım bir sentiment modeli kurmak, bu çalışma da o projenin ilk ayağını oluşturuyor.

Saygılar,
 
Merhaba,

Bu şekilde deneyiniz.

Kod:
Sub Birlestir()
 
Dim sat As Long, sut As Integer, i As Long, j As Integer
 
Application.ScreenUpdating = False
On Error Resume Next
 
sat = ActiveSheet.UsedRange.Rows.Count
sut = ActiveSheet.UsedRange.Columns.Count
 
For i = 1 To sat
    For j = 2 To sut
        Range("A" & i) = Range("A" & i) & " " & Cells(i, j)
    Next j
Next i
 
Range(Cells(1, 2), Cells(sat, sut)).ClearContents
 
Application.ScreenUpdating = True
 
End Sub
.
 
Ömer bey cevabınız için teşekkür ederim ama yanlış anlaşılma oldu galiba problemimde.
Amacım bu kodun yaptığı şekilde yanyana tüm hücreleri tek hücre içine almak değil.
Ayrı hücrelerdeki kelimelerin tümünü altalta yazdırmak istiyorum.
Örneğin B sütunundakileri alıp A'nın en altına yazsın, sonra gidip C'dekileri alıp yine A'nın en altına yazsın, böylelikle en sondaki sütuna akdar gidip hepisini altalta yazalım istiyorum.
Bu sayaede hangi kelimenin kaç kere tekrarlandığını ortaya koymak istiyorum.

Yardımcı olursanız çok sevinirim.
Saygılar,
 
Bu şekilde deneyiniz.

Kod:
Sub Birlestir()
 
Dim sat As Long, j As Integer
 
Application.ScreenUpdating = False
On Error Resume Next
 
For j = 2 To ActiveSheet.UsedRange.Columns.Count
    sat = Cells(Rows.Count, j).End(xlUp).Row
    Range(Cells(1, j), Cells(sat, j)).Cut Range("A" _
    & Cells(Rows.Count, "A").End(xlUp).Row + 1)
Next j
 
[A:A].SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp
 
Application.ScreenUpdating = True
 
End Sub

.
 
İşinize yaradığına sevindim.

Sevgi ve Saygılarımla.
 
Ömer Bey,

-------------------

Ömer Bey üstteki eklemeleri aslında bu başlıkta yazmayacaktım, onlar boşluk atma makrosuna eklenmesini istediğim değişiklikler, o sayfaya kopyalayacağım yazdığım mesajı.
Saygılarımla,
 
Moderatör tarafında düzenlendi:
Ömer Bey,

Veriyi A sütununda altalta yazarken B sütununda da her bir kelimenin geldiği satırın numarasını yazdırma şansımız var mıdır?

Saygılarımla,
 
Sıra numarası gibi mi? Yoksa verinin geldiği satırın numarası mı? Bunu biraz daha açarmısınız.

Diğer sorunuza ve buna müsait olunca bakıp ekleyeceğim.

.
 
verinin geldiği satırın numarası Ömer Bey, bu çok önemli çünkü o sıra numarası aslında bi yerde ilgili mesajın da kod numarası oalcak ve böylelikle herhangi bir mesaj içerisinde en çok tekrar eden kelimeleri de tespit etme olanağım olacak.
...
diğer tarafa da yanlışlıkla buraya kopyaladığım soruyu ekledim.

çok sağolun , saygılar
 
Veri numarası mı daha doğru olur yoksa veri nin adresimi,

Yani;

2
3
4

yerine;

B1
B2
.
.
D5

gibi. Tercih sizin ?


.
 
veri adresinden ziyade satır numarası daha çok işime yarar Ömer bey, çünkü burada amacım kelimenin geçtiği şikayeti adreslemek.

Sağolun,
 
Bu şekilde deneyiniz. Doğruluğunun kontrolünü detaylı yapamadım.

Kod:
Sub Birlestir()
 
Application.ScreenUpdating = False
On Error Resume Next
 
For j = 2 To ActiveSheet.UsedRange.Columns.Count
    sat = Cells(Rows.Count, j).End(xlUp).Row
    ara = Cells(Rows.Count, "A").End(xlUp).Row + 1
 
    say = sat + ara
    Range("B" & ara) = 1
    Range("B" & say) = sat
 
    Range(Cells(1, j), Cells(sat, j)).Cut Range("A" & ara)
 
    Range("B" & ara & ":B" & say).DataSeries Rowcol:=xlColumns, _
    Type:=xlLinear, Date:=xlDay, Step:=1
 
Next j
 
    ilk = Cells(1, "B").End(xlDown).Row - 1
    Range("B1") = 1
    Range("B" & ilk) = ilk
 
    Range("B1:B" & ilk).DataSeries Rowcol:=xlColumns, _
    Type:=xlLinear, Date:=xlDay, Step:=1
 
    [A:A].SpecialCells(xlCellTypeBlanks).EntireRow.Delete
 
Application.ScreenUpdating = True
 
End Sub

.
 
harikasınız valla ya ne diyim.
çok teşekkür ederim, inanın çok makbule geçti.

Saygılar,
 
Ömer Hocam;

makrolarda A,B,C, sütunlarında bulunan verileri alt alta yazdırmadan ziyade benim şöyle bir sorum olacaktı.

A sütununda 2000 üzerinde hücre veri var. B ve C de A kadar sayıda. hatta fazla da olabiliyor.

Ben

A,B,C sütunlarından her hücreyi alıp alt alta yazdırmak istiyorum. ama çıktı sırası başka sütunda şöyle olması gerekiyor.

A1
B1
C1
A2
B2
C2
A3
B3
C3
......

A2000
B2000
C2000

diye başka bir sütunda sıralatmak istiyorum. bunun için yardımcı olabilirmisiniz ?
 
Geri
Üst