• DİKKAT

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

Sütundaki cümlelerin analizi

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

xlsx

Misafir
Arkadaşlar Selam
A sütununda altalta her hücrede uzun cümleler var.Bu cümlelerde geçen her bir kelimenin E sütununda alt alta en çok geçen kelimeden en aza doğru saydırarak sıralatmak için nasıl bir yol izlememiz gerekir.Fikri olan arkadaşların yardımını rica ederim.
 
pek yapılası bi olay gibi gözükmese de aklınıza gelen her türlü fikre açığım arkadaşlar.
bir yerde her kelimeyi altalta toplarken a sütununda o kelimeden kaçar tane olduğunu da sayacak.
 
Arkadaşlar zor bir konu biliyorum ama en azından formül ya da farklı bir yöntemle saydırabilir miyiz bu cümle içindeki kelimeleri, bu konuda fikirleriniz varsa paylaşmanızı rica ederim.Tşk
 
benim de aklıma hiçbir şey gelmemişti zaten arkadaşlar sizlere hak veriyorum..
 
Aşağıdaki kodu standart bir modul sayfasına kopyalayıp çalıştırınız. İstediğiniz gerçekleşecektir.

Kod:
Sub Kelime_Frekanslarini_Bul()
    Dim col As Collection
    Dim i As Integer
    Dim y As Integer
    Dim vCml As Variant
    Dim arr() As String
    Dim rng As Range
    
    Columns("E:F").ClearContents
    
    Set col = New Collection
    
    Application.Calculation = xlCalculationManual
    
    On Error Resume Next
    
    For i = 2 To Cells(65536, 1).End(xlUp).Row
        For Each vCml In Split(Cells(i, 1), " ")
            col.Add CStr(vCml), CStr(vCml)
            If Err <> 0 Then
                Set rng = Columns("E").Find(CStr(vCml), Lookat:=xlWhole)
                rng.Offset(0, 1) = rng.Offset(0, 1) + 1
                Err = 0
            Else
                y = y + 1
                Cells(y, "E") = CStr(vCml)
                Cells(y, "F") = 1
            End If
        Next
    Next i
    Range("E1:F" & Cells(65536, "F").End(xlUp).Row).Sort _
                        Key1:=Range("F1"), _
                            Order1:=xlDescending
    
    Application.Calculation = xlCalculationAutomatic
    
    Set col = Nothing
End Sub
 
Sayın Ferhat, 10 numara diyorum, başka bişi demiyorum...
Kodları inceledim, bırakın kodları yazmayı ben mantığını bile kuramamıştım elinize sağlık çok teşekkürler, sorunsuz istediğimi yapabiliyorum..Kodlarda bu dereceye gelebilmem sanırım yıllar alacak:) walla bravo...
 
Bir arkadaşın istediği olunca ben de çok seviniyorum :)
 
Bu konuyla ilgili en yakın zamanda isteği olan bir ben varım sanıyorum.Benimle birlikte sevinmenize sevindim sayın izcik:)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst