• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Soru Birden fazla yazılmış herşeyi silme ve metni sadece bir kere yazılmış olanlarla bırakma

Ahmet Bey

Yeni Üye
Katılım
12 Eyl 2021
Mesajlar
147
Aldığı beğeni
12
Excel V
Office 365 TR
Konu Sahibi
👋 Merhabalar değerli hocalarım;
Paylaştığım word dosyasındaki, birbirlerinden boşlukla ayrılmış herşeyi, büyük küçük harf gözetmeden, birbirleriyle karşılaştırarak, aynı olan tüm kelimeleri, sayıları ve tüm karakterleri nasıl silebiliriz? Yani tüm metnin içindeki, tekrar eden her şeyin hepsini yok edip, sadece 1 kere yazılmış ve hiç tekrarlanmamış olanlar kalsın istiyoruz. Bunu nasıl yapabiliriz?

AHMET MEHMET AYŞE FATMA ALİ 1900 2000 (VELİ) ahmet mehmet ayşe fatma ali 1900 2000 %100+
Mesela böyle bir metinde sonuç olarak: Sadece bir kere yazılmış olan (VELİ) %100+ kalacak ve diğer herşey silinecek.

Bunu world dosyasında yapmak mümkün değilse, excel dosyasında da yapabiliriz, ama söz konusu düz metin olduğu için, mümkünse bunu world dosyasında yapabilirsek, daha kullanışlı olacak.
Lütfen yardımcı olurmusunuz değerli üstadlarım, şimdiden çok çok teşekkürler.
 

Ekli dosyalar

👋 Merhabalar değerli hocalarım;
Paylaştığım word dosyasındaki, birbirlerinden boşlukla ayrılmış herşeyi, büyük küçük harf gözetmeden, birbirleriyle karşılaştırarak, aynı olan tüm kelimeleri, sayıları ve tüm karakterleri nasıl silebiliriz? Yani tüm metnin içindeki, tekrar eden her şeyin hepsini yok edip, sadece 1 kere yazılmış ve hiç tekrarlanmamış olanlar kalsın istiyoruz. Bunu nasıl yapabiliriz?

AHMET MEHMET AYŞE FATMA ALİ 1900 2000 (VELİ) ahmet mehmet ayşe fatma ali 1900 2000 %100+
Mesela böyle bir metinde sonuç olarak: Sadece bir kere yazılmış olan (VELİ) %100+ kalacak ve diğer herşey silinecek.

Bunu world dosyasında yapmak mümkün değilse, excel dosyasında da yapabiliriz, ama söz konusu düz metin olduğu için, mümkünse bunu world dosyasında yapabilirsek, daha kullanışlı olacak.
Lütfen yardımcı olurmusunuz değerli üstadlarım, şimdiden çok çok teşekkürler.
Deneyiniz

HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.
 

Ekli dosyalar

Konu Sahibi
hocam ben düğmeye basınca, sizin fotoda gösterdiğiniz gibi birden fazla olanlar silinmeye başlamıyor yani sizde bu nasıl oluyor hocam bende olmuyor veya ben yapamıyorum hocam ne yapmalıyımki ben? :rolleyes:
 
Word'de Dosya menüsüne gidin, Seçenekler'i tıklayın, Şeridi Özelleştir bölümünde, sağ taraftaki Geliştirici kutusunu işaretleyin.
Tamam'a tıklayın. Geliştirici sekmesinde, Makrolar düğmesine tıklayın. Makroyu seçin ve Çalıştır'a tıklayın.
 
Konu Sahibi
Word'de Dosya menüsüne gidin, Seçenekler'i tıklayın, Şeridi Özelleştir bölümünde, sağ taraftaki Geliştirici kutusunu işaretleyin.
Tamam'a tıklayın. Geliştirici sekmesinde, Makrolar düğmesine tıklayın. Makroyu seçin ve Çalıştır'a tıklayın.
Hocam aynen dediğiniz gibi yaptım ve sonuçta, sayfadan TEKRARLARI SIL düğmesi de gitti ve aynen böyle oldu:

savaşi ) birliğini sağlama çalışmaları sonucunda sınır komşusu oldular çıkmak isteyen durumdan oldukça rahatsız oldu çünkü bırakmak istemiyordu iki ilişkilerin savaşa dönüşmesinin temel nedeni savaşı'nın yapılmasında çıkmaya hazırlanan timur'un gibi devletin kalmasını istememesi kaybeden beylerinin sığınarak onu devleti’ne karşı kışkırtmaları timur’dan kaçan bağdat karakoyunlu hükümdarlarını himaye etmesi anadolu’ya girerek osmanlılara bağlı erzincan sivas’ta katliamlar yapması İki hükümdar hakaret içeren mektupların gelip gitmesi etkili tarihinin dönüm noktalarından biri savaşı ankara’nın çubuk ovası’nda yapılmıştır savaş üstünlüğüyle sona ermiştir savaşı'nda esir düşmüştür esaret yaşamı çok ağır gelen 8 ay akşehir’de hastalanarak 1403 ülkesine döndükten çıktığı seferinde hastalanmış otrar kentinde 1405 savaşı’nın sonuçları beylerine eski geri vermiş böylece birliği anadolu’da otorite bozulduğundan sosyal ekonomik düzen de devleti’nin balkanlardaki fetihleri durmuş az olsa toprak kayıpları ülkesini yıldırım’ın bölmüştür 11 yıl süren fetret devri denilen taht mücadelelerinin başlamasına yol açmıştır çekilmesiyle anadolu’nun doğusunda güçlenen akkoyunlu için önemli tehdit haline gelmiştir uzun süredir kuşatma altında İstanbul’un fethi gecikmiş bizans’ın ömrü uzamıştır

Öncelikle TEKRARLARI SIL düğmesi, makro çalıştıktan sonra da hep yerinde dursun hocam, ve eğer mümkünse, tekrar ettiği için silinen her şeyin eski olduğu yerler de boş kalsın, yani tek olanlar yan yana birleşmesinler hocam.

Örnek metinle anlatırsak, sonuç aynen şöyle olsun:
Örnek Metin: AHMET MEHMET AYŞE FATMA ALİ 1900 2000 (VELİ) ahmet mehmet ayşe fatma ali 1900 2000 %100+
Sonuç: (VELİ) %100+
 
Konu Sahibi
Buraya yazılan mesajların içindeki uzun boşluklarda, mesaj gönderildikten sonra, tek karakter boşluklara çevrildiği için, olmasını istediğimiz örnek sonuç metnin fotoğrafını gönderdim hocam, saygılarımla.
 

Ekli dosyalar

  • Sonuç.jpg
    Sonuç.jpg
    21.8 KB · Gösterim: 8
Dosyanın ilk açılışında makroları etkinleştiriyor musunuz? Dosya ilk açılışında karşınıza çıkan sarı şeritteki uyarıda "İçeriği Etkinleştir" e basmanız gerekiyor.
 

Ekli dosyalar

  • Ekran görüntüsü 2024-07-31 222154.jpg
    Ekran görüntüsü 2024-07-31 222154.jpg
    72.2 KB · Gösterim: 4
Kelimeler silinince birleşmesin istiyor, silinen kelime kadar boşluk kalacak metinde, kod bunu yapmıyor tekli kelimeleri peş peşe yazıyor.
 
Konu Sahibi
Dosyanın ilk açılışında makroları etkinleştiriyor musunuz? Dosya ilk açılışında karşınıza çıkan sarı şeritteki uyarıda "İçeriği Etkinleştir" e basmanız gerekiyor.
Evet hocam, makroları en baştan etkinleştirdiğim için, "İçeriği Etkinleştir" yazısı çıkmıyor bile zaten yani
 
Konu Sahibi
Kelimeler silinince birleşmesin istiyor, silinen kelime kadar boşluk kalacak metinde, kod bunu yapmıyor tekli kelimeleri peş peşe yazıyor.
Evet hocam, mümkünse aynen öyle olmasını istiyoruz ve TEKRARLARI SIL düğmesi de, makro çalıştıktan sonra hep yerinde dursunki, dosyaya başka metinler kopyaladığımızda da, yine düğmeye basıp, makroyu hep kullanabilelim hocam.
 
Evet hocam, mümkünse aynen öyle olmasını istiyoruz ve TEKRARLARI SIL düğmesi de, makro çalıştıktan sonra hep yerinde dursunki, dosyaya başka metinler kopyaladığımızda da, yine düğmeye basıp, makroyu hep kullanabilelim hocam.
Bu senaryoda tekrar eden kelimelerin yerine diyelim ki "_" alt tire işareti gelecek.

SNNAY Ahmet Bey aeGNoR SNNAY Ahmet Bey aeGNoR diye bir metin var diyelim.

makro çalıştıktan sonra elimizdeki metin aşağıdaki gibi mi olması lazım?
_____ _____ _ ____ SNNAY Ahmet Bey aeGNoR

yoksa bu aşağıdaki gibi mi olması lazım?
SNNAY Ahmet Bey aeGNoR _____ _____ _ ____

yani kısacası ilk gördüğünü mü barındıracak yoksa ilk gördüklerini silip son gördüğünü mü barındıracak?
 
Konu Sahibi
SNNAY Ahmet Bey aeGNoR SNNAY Ahmet Bey aeGNoR
hocam böyle bir metin sonucunda, makro çalıştığında geriye hiçbir şey kalmayacak. Çünkü, sağındaki ve solundaki her kelime ile boşlukla ayrılmış bu kelime gruplarının her biri, birden fazla kere yazılmış. Yani içinde sadece 1 kere yazılmış hiç bir kelime yok. Mesela şöyle olsaydı:
SNNAY Ahmet Bey aeGNoR SNNAY Ahmet Bey aeGNoR MEHMET
o zaman sonuç: sadece MEHMET olacaktı ama, MEHMET'e gelinceye kadar olan, soldaki silinen karakterler sayısınca da boşluk olacak, o boşluktan sonra MEHMET gelecek yani hocam.
 
Konu Sahibi
Bu senaryoda tekrar eden kelimelerin yerine diyelim ki "_" alt tire işareti gelecek.

SNNAY Ahmet Bey aeGNoR SNNAY Ahmet Bey aeGNoR diye bir metin var diyelim.

makro çalıştıktan sonra elimizdeki metin aşağıdaki gibi mi olması lazım?
_____ _____ _ ____ SNNAY Ahmet Bey aeGNoR

yoksa bu aşağıdaki gibi mi olması lazım?
SNNAY Ahmet Bey aeGNoR _____ _____ _ ____

yani kısacası ilk gördüğünü mü barındıracak yoksa ilk gördüklerini silip son gördüğünü mü barındıracak?
SNNAY Ahmet Bey aeGNoR SNNAY Ahmet Bey aeGNoR
hocam böyle bir metin sonucunda, makro çalıştığında geriye hiçbir şey kalmayacak. Çünkü, sağındaki ve solundaki her kelime ile boşlukla ayrılmış bu kelime gruplarının her biri, birden fazla kere yazılmış. Yani içinde sadece 1 kere yazılmış hiç bir kelime yok. Mesela şöyle olsaydı:
SNNAY Ahmet Bey aeGNoR SNNAY Ahmet Bey aeGNoR MEHMET
o zaman sonuç: sadece MEHMET olacaktı ama, MEHMET'e gelinceye kadar olan, soldaki silinen karakterler sayısınca da boşluk olacak, o boşluktan sonra MEHMET gelecek yani hocam.
 
Siz bunu nerede kullanacaksınız, ilk örneğinizdeki metin gibi durum varsa sağlıklı bir sonuca ulaşmanız bayağı zor.
 
Konu Sahibi
Deneyin[
Sub Makro1()
On Error Resume Next
Selection.WholeStory
For i = 1 To Selection.Words.Count
kelime = Trim(Selection.Words(i))
If UBound(Split(Selection, kelime)) = 1 Then
aa = aa & " " & kelime
Else
aa = " " & aa
End If
Next
Selection.Cut
Selection.Text = aa
End Sub
[/CODE]
Denedik hocam, sonuç aynen böyle oldu:

ANKARASAVAŞIbirliğinisağlamaçalışmalarısonucundasınırkomşusuoldularçıkmakisteyendurumdanoldukçarahatsızÇünkübırakmakistemiyorduikiilişkilerinsavaşadönüşmesinintemelnedeniSavaşı'nınyapılmasındaçıkmayahazırlananTimur'ungibidevletinkalmasınıistememesiTopraklarınıkaybedenbeylerininsığınarakDevleti’nekarşıkışkırtmalarıTimur’dankaçanBağdatKarakoyunluhükümdarlarınıhimayeetmesiAnadolu’yagirerekOsmanlılarabağlıErzincanSivas’takatliamlaryapmasıİkihakaretiçerenmektuplarıngelipgitmesietkilitarihinindönümnoktalarındanbiriAnkara’nınÇubukOvası’ndayapılmıştırüstünlüğüylesonaermiştirSavaşı'ndaesirdüşmüştürEsaretyaşamıçokağırgelen8Akşehir’dehastalanarak1403ülkesinedöndüktençıktığıseferindehastalanmışOtrarkentinde1405Savaşı’nınSonuçlarıbeylerineeskitopraklarınıgerivermişböyleceAnadolu’daotoritebozulduğundansosyalekonomikdüzenDevleti’ninBalkanlardakifetihleridurmuşolsakayıplarıülkesiniYıldırım’ınbölmüştür11yılsürenFetretDevridenilentahtmücadelelerininbaşlamasınayolaçmıştırçekilmesiyleAnadolu’nundoğusundagüçlenenAkkoyunluiçinönemlitehdithalinegelmiştirUzunsüredirkuşatmaaltındaİstanbul’unfethigecikmişBizans’ınömrüuzamıştır

yani bir kereden fazla yazılmış herşey silindikten sonra, kalan herşey hiç boşluksuz olarak, birbirine tamamen bitişik yani herşey tek kelime olarak sonuç geldi hocam. Ayrıca TEKRARLARI SIL düğmesi, makroyu çalıştırdıktan sonra yok oldu. Halbuki bu düğmenin yok olmasını istemiyoruz hocam.
 
Geri
Üst