Excel Vba Forum - Excelce.Net

SORU ve CEVAPLAR (Yazılabilir) => Microsoft Excel, Vba, Makro, Formül vb. Soruları => Çözülen Excel, Vba, Makro, Formül vb. Soruları => Konuyu başlatan: voleybolcu - 04 Şubat 2012, 23:25:57

Başlık: [Çözüldü] Kelimelerin alt alta tekrarlaması
Gönderen: voleybolcu - 04 Şubat 2012, 23:25:57
Merhaba.

Excel dosyasının A sütununda İngilizce kelimeler, hemen yanındaki B sütununda ise bu İngilizce kelimelerin fonetik okunuşları yer almaktadır.

Bazı İngilizce kelimeler birden çok fonetik okunuşlara sahiptir ve bu fonetik okunuşlar B sütununun ilgili hücrelerinde aralarında virgül olacak şekilde belirtilmektedir.

A sütunundaki bir İngilizce kelimenin birden çok fonetik okunuşu varsa, her bir fonetik okunuşu bu İngilizce kelimenin yanında olacak şekilde bu İngilizce kelimenin alt alta tekrar etmesini sağlayan bir makro programını sizlerden rica ediyorum.

İyi günler.
Başlık: Ynt: Kelimelerin alt alta tekrarlaması
Gönderen: Bülent Öztürk - 05 Şubat 2012, 12:19:18
Merhaba,

Şu kodları dener misiniz?

Kod: [Seç]
Sub ExcelceFonetikAyir()
Dim bulent As Long
For bulent = 2 To Range("B65530").End(3).Row
    If InStr(1, Range("B" & bulent), ",") > 0 Then
        karakter = InStr(1, Range("B" & bulent), ",")
        Range("B" & bulent + 1).EntireRow.Insert Shift:=xlDown
        Range("A" & bulent + 1).Value = Range("A" & bulent)
        Range("B" & bulent + 1).Value = VBA.Mid(Range("B" & bulent), karakter + 1)
        Range("B" & bulent).Value = VBA.Left(Range("B" & bulent), karakter - 1)
    End If
Next bulent
MsgBox "İşlem tamam.", vbInformation, "Excelce.Net"
End Sub

Başlık: Ynt: Kelimelerin alt alta tekrarlaması
Gönderen: voleybolcu - 05 Şubat 2012, 15:11:51
Merhaba.

Mesajımın ekinde yer alan Deneme isimli Excel dosyasının A sütununun birinci hücresindeki "bacteriophage" kelimesinin fonetik okunuşlarına göre alt alta tekrarlanmasında hazırladığınız makro programı başarılı olamadı. Bunu düzeltir misiniz?
Başlık: Ynt: Kelimelerin alt alta tekrarlaması
Gönderen: Bülent Öztürk - 05 Şubat 2012, 16:35:06
Merhaba Ayşe hanım,
İlk örneğinizde başlık satırı olduğu için döngüyü 2'den başlatmıştım.
Başlık satırı olmadan kullanacaksanız,
şu satırı:
Alıntı
For bulent = 2 To Range("B65530").End(3).Row
şu şekilde değiştirin:
Kod: [Seç]
For bulent = 1 To Range("B65530").End(3).Row
Başlık: Ynt: Kelimelerin alt alta tekrarlaması
Gönderen: voleybolcu - 06 Şubat 2012, 07:07:11
Çok teşekkür ederim.