• DİKKAT

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

karakterler arasındaki uzaklığı hesaplama

Katılım
7 Haziran 2011
Mesajlar
12
Excel Vers. ve Dili
2007
Merhaba arkadaşlar

ben bir hücredeki belli karakter arasındaki uzaklığı hesaplatmak istiyorum.
örnek verecek olursam;

a1 hücresindeki değer ahdlakljaha olsun.ben a'lar arasındaki ortalama mesafeyi bulmak istiyorum.bu örnekte ilk uzaklık 3,3,1 ve ortalama uzaklıkta 7/3 oluyor.
yardımcı olursanız çok sevinirim
 
Harf sayısı sabitmi ?
Harfleri tek tek hücrelere yazmış olsan daha kolay olurdu..
 
Merhaba,
ekteki dosyayı inceleyiniz. "A" sütununa metni, "B" sütununa karakteri girerek sonucu kontrol ediniz. İyi geceler.
 

Ekli dosyalar

Rica ederiz,
iyi çalışmalar.
 
Merhaba,
ekteki dosyayı inceleyiniz. "A" sütununa metni, "B" sütununa karakteri girerek sonucu kontrol ediniz. İyi geceler.

teşekkür ederim bu işimi görüyor ancak b sutununa girdiğim karakteri enterladıktan sonra sonucu veriyor.ben b sutununa 10bin satırdan fazla veri gireceğim ve bunlar başka bir tablomda var.ordan kopyalayıp yapıştırdığımda çalışmıyor.tek tek girip enterlamak gerekiyor.10 binden fazla olduğu içinda uzun sürecek.bu konuda da yardımcı olabilir misiniz?
 
Merhaba,
kısa bir süre sonra makroyu değiştirp göndereceğim. İyi çalışmalar.
 
Merhaba,
aşağıdaki kodları bir modüle yapıştırınız ve bir butona bağlayıp çalıştırarak
deneyiniz. İyi çalışmalar.
Kod:
Sub bul()
Dim sh As Worksheet
Set sh = ThisWorkbook.Sheets("Sayfa1")
sn = sh.[b65536].End(3).Row
Dim i, x, q, s As Long
Application.ScreenUpdating = False
sh.Range("c1:c" & sn).ClearContents
For Z = 1 To sn
        a = Cells(Z, "a")
        x = Cells(Z, "b")
        If a = "" Then Exit For
        s = -1
        q = 0
        For i = 1 To Len(a)
          If Mid(a, i, 1) = x Then
          If Mid(a, i + 1, 1) = x Then GoTo son
          s = s + 1
          GoTo son
          End If
          If s > -1 Then 'harf varsa
          q = q + 1
          End If
son:
        If InStr(1, Right(a, Len(a) - i), x, vbTextCompare) < 1 Then Exit For 'harf yoksa
        Next
        If q = 0 Then GoTo 10
        Cells(Z, "c") = q / s
10:
Next Z
Application.ScreenUpdating = True
Set sh = Nothing
End Sub
 
çok uğraştırdım sizi ama anlamadığım bir nokta var.417.satırdan sonrakileri okumadı.koda baktım ama döngüde bir sorun yok anladığım kadarıyla.neden böyle oldu anlamış değilim
 
Merhaba,
son satır olarak "b" sütununa bakıyor.

Kod:
sn = sh.[[B][COLOR=Red]a[/COLOR][/B]65536].End(3).Row

"b" yerine "a" yaparak deneyiniz. Kolay gelsin.
 
Tekrar merhaba,yukardaki işlemleri çift karakter için nasıl yapabilirim.önceki kod mesela 2 a harfi arasındaki uzaklığı hesaplıyordu.ama birde 2 tane "aa" arasındaki mesafeyi nasıl hesaplatabilirim.içiçe 2 döngü mükurmak gerekiyor.?
 
Sayın atubaa günaydın,
bilgiyi bazan damlalıkla alabiliyoruz :). Bu yüzden kod yapısı baştan sağlam oluşturulamıyor.
Şimdi "hsjdaadjaaakaa.." ya da "hsjdaaaadjaaakaa.." gibi benzer durumlarda nasıl davranmalı kod, bilgimiz yok. Detaylı açıklama yaparsak konuyu tekrarlamak durumunda kalmayız. Esen kalın.
 
Günaydın ,
Malesef herzaman programdan istenilenlar baştan belli olmuyor.Sonradan istenilenler bu tarz zorluklar yaratabiliyor.Teşekkür ederim yinede..
iyi günler
 
Günaydın ,
Teşekkür ederim yinede..
iyi günler

Merhaba,
benim sözlerim salt sizle ilgili değil. Yaygın bir hareket tarzı bu. Ama sizden yapmam gereken için bilgi ve yardım da istemiştim. Siz ilgilenmeyeceğimi düşünmüş gibisiniz. Böyle bir şey yok tabii ki.
 
merhaba..
yanlış anlaşılma oldu galiba:)
Şuan ki problem metnin içinde birçok harf var.ama ben arka arkaya gelmiş"aa" ların "bb" lerin yada "cc" ler gibi karakterler arasındaki ortalama uzaklığı bulmak istiyorum.diğeriyle aynı.orda b sutununa aramak istediğimiz harfi giriyorduk"a" gibi "b" gibi.şimdi oraya çift karakter gireceğim.örnekle açıklarsam.metnim "aahbaabhydakhraa "olsun.aa lar arasındaki ortalama uzaklık 5.bunu buldurmak istiyorum.umarım açıklamam yeterli olmuştur
 
Geri
Üst