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 - 05 Ağustos 2012, 13:47:15
-
Merhaba.
Bir Word dosyasının bazı paragraflarının sonunda parantez içerisinde ek numaraları belirtilmektedir (Ek-1, Ek-2 v.s.)
Bu eklerin sayfaları ise başka bir Excel dosyasının B sütununda sırayla belirtilmektedir.
Bu Word dosyasındaki parantez içerisinde yazılı ek numaralarının yanına, bu Excel dosyasından sayfa numaralarını alarak aktaran bir makro programını bir arkadaşıma uzun zaman önce yaptırmıştım. Ancak bu makro programı "Ek-10" ve daha büyük numaralı eklerde hata veriyor. Makro programındaki bu hatanın düzeltilmesi hususunda bana yardımcı olmanızı sizlerden rica ediyorum.
İyi günler.
DİPNOT-1 Makro programı aşağıda yer almaktadır:
Sub degistir()
ChDir "c:\"
wrd = Application.GetOpenFilename(",*.doc*")
If wrd = False Then Exit Sub
Set wd = CreateObject("word.Application")
wd.Visible = True
wd.Application.Documents.Open wrd
Application.DisplayAlerts = False
For i = 1 To [a65536].End(3).Row
deg = ")"
For y = 1 To 2
With wd.ActiveDocument.Content.Find
.Text = Cells(i, "a") & deg
.Replacement.Text = Cells(i, "a") & " s. " & Cells(i, "b") & deg
.Execute Replace:=2
End With
deg = ";"
Next
Next
Application.DisplayAlerts = True
MsgBox "İşlem başarıyla gerçekleştirildi.", vbInformation, "Baris"
End Sub
DİPNOT-2: Bu programın çalışmasına ilişkin örnek dosyalar ziplenmiş olarak mesajın ekinde yer almaktadır.
-
Merhaba,
Sorun şu, EK-1'i bulup değiştirirken; EK-10, EK-15 gibi değerlerin de "EK-1" olan kısmını EK-1 gibi değerlendirip EK-1 değerleri ile değiştiriyor. Böylece EK-10 ve yukarısını bulamadığı için değiştiremiyor.
Ekte bir çözüm yarattım ancak, EK-x değerinin bir sağında ")" ya da ";" karakteri arıyor. Böylece örneğin; "EK-1)", "EK-10)" veya "EK-1;", "EK-10;" gibi değerlendirildiğinden karışmıyor. Eklediğiniz dosya gibi dosyalarda sorunsuz çalışır, ancak format değiştirirseniz bunlara dikkat edilmeli.
Kolay Gelsin.
-
Çok teşekkür ederim. :)