Excel için yazılan makroyu Word için uyarlama

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Arkadaşlar Excel için yazılmış makroyu Word'da kullanabilmem için nasıl bir değişiklik yapmak lazım
Kod:

Kod:
Sub Test3()
  
    Dim objRegEx As Object, myCell As Range, myStr As String
    
    Set objRegEx = CreateObject("VBscript.RegExp")
    objRegEx.Global = True
    objRegEx.Pattern = "\((\d+)\)"
    
    For Each myCell In Selection
        myStr = myCell.Text
        myStr = objRegEx.Replace(myStr, "")
        myCell = myStr
        myStr = Empty
    Next
    
    Set objRegEx = Nothing
End Sub
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Word'da yaklaşık 2000 sayfalık bir bilgi var. ve bu metinlerdeki parantez içindeki sayıları parantez ile birlikte silmek istiyorum.
 
Katılım
9 Eylül 2010
Mesajlar
867
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Her ne kadar birbirine benzese de kodlarında farklılık var. En iyi çözüm örneğinizi buraya yükleyerek cevap beklemek. Ya da joker karakter ile arama yaptırarak bul ve değiştirden temizlemek.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Ustalarım mesajıma yardımcı olabilirseniz sevinirim
 
Katılım
9 Eylül 2010
Mesajlar
867
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
Bul ve değiştirden; bul kısmına (***) yazın burdaki yıldızlar joker karakter seçeneğiyle eklenmiş olacak. Değiştir kısmına ise bir şey yazmayın. Tamam a basınca tümünü bulur ve değiştirir. Daha da yapamazsanız akşam PC başına geçince ekran görüntüsü atarım.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Bul ve değiştirden; bul kısmına (***) yazın burdaki yıldızlar joker karakter seçeneğiyle eklenmiş olacak. Değiştir kısmına ise bir şey yazmayın. Tamam a basınca tümünü bulur ve değiştirir. Daha da yapamazsanız akşam PC başına geçince ekran görüntüsü atarım.
Malesef olmadı. Yada ben yapamadım
 

netzone

Altın Üye
Katılım
10 Mayıs 2006
Mesajlar
791
Excel Vers. ve Dili
🅾🅵🅵🅸🅲🅴
⎝365 64 Bit 𝙏𝙍⎠
🆆🅸🅽🅳🅾🆆🆂
⎝11 64 Bit 𝙏𝙍⎠
Altın Üyelik Bitiş Tarihi
12-09-2027
Malesef olmadı. Yada ben yapamadım
Merhaba @asdsxx,

Joker karakter işaretliyken aranan kutusuna \(*\) veya [(]*[)] yazıp yeni değer kısmını boş bıraktığınızda parantez içinde olan herşeyi siler, bu parantezli sayıların sağında ve solunda boşluklar olabilir, 2 boşluk yanyana gelmemesi için aranan kelimenin sonunda boşluk olduğunu unutmayınız.

@tukayf, (***) araması tek bir karakteri sonuçlandırmaktadır.

İyi çalışmalar.

225142
 
Katılım
9 Eylül 2010
Mesajlar
867
Excel Vers. ve Dili
2016&2019&2021 TR
Altın Üyelik Bitiş Tarihi
29-09-2023
\(*\) birde bu şekilde deneyebilir misiniz.
Çok özür sizin mesajı görmeden yazdım.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
MS Word için;

C#:
Sub Test()
'   Haluk - 10/02/2021
'   https://excelhaluk.blogspot.com/
    Dim regExp As Object
    
    Set regExp = CreateObject("VBscript.RegExp")
    
    regExp.Pattern = "\((\d+)\)"
    regExp.Global = True
    
    ActiveDocument.Range.Text = regExp.Replace(ActiveDocument.Range.Text, "")
    
    Set regExp = Nothing
End Sub
.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
\(*\) birde bu şekilde deneyebilir misiniz.
Çok özür sizin mesajı görmeden yazdım.
Tukayf Bey sizin dediğiniz yöntem ile tüm parantez içi olanları buluyor. Ben sadece parantez içindeki rakamları parantezler ile birlikte silmesini istiyorum. Parantez içindeki kelime veya cümleler kalacak.
\(*\) kodunda "*" joker karakteri yerine (sayıların) yerini tutacak bir yöntem var mı acaba
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
MS Word için;

C#:
Sub Test()
'   Haluk - 10/02/2021
'   https://excelhaluk.blogspot.com/
    Dim regExp As Object
   
    Set regExp = CreateObject("VBscript.RegExp")
   
    regExp.Pattern = "\((\d+)\)"
    regExp.Global = True
   
    ActiveDocument.Range.Text = regExp.Replace(ActiveDocument.Range.Text, "")
   
    Set regExp = Nothing
End Sub
.
Haluk Bey Teşekkürler.
Kod Çalıştı. istediğim bu idi. Eline sağlık.
İyi ki varsınız.
Tekrar Teşekkürler...
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Tukayf Bey ilgilendiğiniz için size de teşekkürler.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
MS Word için;

C#:
Sub Test()
'   Haluk - 10/02/2021
'   https://excelhaluk.blogspot.com/
    Dim regExp As Object
   
    Set regExp = CreateObject("VBscript.RegExp")
   
    regExp.Pattern = "\((\d+)\)"
    regExp.Global = True
   
    ActiveDocument.Range.Text = regExp.Replace(ActiveDocument.Range.Text, "")
   
    Set regExp = Nothing
End Sub
.
Haluk Bey kod tüm belge için bütün çalışıyor. Belirli bir kısmı seçili olsada yine tüm belgeyi temizliyor.
Bu kod'a seçili kısımda da çalışması için nasıl bir ilave yapılabilir.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Kodun sadece seçili kısımda çalışması için aşağıdaki satırı, koddakinin yerine kullanın...

C#:
    Selection.Range.Text = regExp.Replace(Selection.Range.Text, "")

Yani; ActiveDocument yerine Selection kullanacaksınız.....

.
 

asdsxx

Altın Üye
Katılım
22 Mayıs 2012
Mesajlar
491
Excel Vers. ve Dili
Excel 2016 Türkçe
Altın Üyelik Bitiş Tarihi
20-02-2025
Kodun sadece seçili kısımda çalışması için aşağıdaki satırı, koddakinin yerine kullanın...

C#:
    Selection.Range.Text = regExp.Replace(Selection.Range.Text, "")

Yani; ActiveDocument yerine Selection kullanacaksınız.....

.
Teşekkürler Haluk Bey
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Eyvallah .... kolay gelsin.

.
 
Üst