• DİKKAT

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

Excel bul değiştir

  • Konbuyu başlatan Konbuyu başlatan troyy
  • Başlangıç tarihi Başlangıç tarihi
Katılım
22 Eylül 2010
Mesajlar
17
Excel Vers. ve Dili
office 2007
Değerli Üstatlar,
Excel yada Word'de bir hücre içerisinde ki cümlede bul ve değiştir özelliği ile değiştirmek istediğim kelimenin eski ve yeni değerinin alt alta görünmesini nasıl yapabilirim. Örneğin)
A1 hücresinde "There are some apple in kitchen" cümlesi var. Bul ve değiştir ile "apple" kelimesini " şu şekilde "apple-elma" değiştirdim. Benim yapmak istediğim Excel yada Word ilede olabilir. "apple" kelimesine "elma" kelimesini
elma
ekleyerek, hem "apple" hemde "elma" kelimesi birlikte görünecek ama "elma"kelimesi "apple" kelimesinin altına nasıl geçebilir. Bu işlem İngilizce öğrenmek için kullanmak istiyoruz. Bu işlemi yapabilen üstatlara sonsuz şükranlarımızı sunuyoruz. Biz bir işyerinde yaklaşık 10 kişi bu işleme ihtiyacımız var. Herkese çok teşekkürler ve saygılar.
 
Merhaba,

Olması gereken biçimi manuel hazırlayıp, sorunuzu küçük bir örnek dosya ile desteklermisiniz.

.
 
Ömer bey
excel dosyam ektedir, teşekkürler
 

Ekli dosyalar

Ömer bey
excel dosyam ektedir, teşekkürler

A sütunu için hazırlanmıştır. Kırmızı bölgeyle oynayıp değişiklik yapabilirsiniz. Kodu çalıştırdıktan sonra çıkan ilk kutuya aranan değeri, ikinci kutuya ise değişecek(ilave) değeri girin.

Kod:
Sub Bul_Degistir()
 
    Dim c As Range, Adr As String, kelime As String
    Dim bul As Integer, Wf As WorksheetFunction, yeni As Variant
 
    Set Wf = WorksheetFunction
 
    Application.ScreenUpdating = False
    On Error Resume Next
 
    kelime = Application.InputBox("Aranacak Kelime", "Bul")
    yeni = Application.InputBox("Yeni Kelime", "Değiştir")
 
    If kelime = "" Then Exit Sub
 
    With Range("[COLOR=red]A:A[/COLOR]")
        .WrapText = False
        .Font.Name = "Courier"
        .EntireColumn.AutoFit
        Set c = .Find(kelime)
        If Not c Is Nothing Then
            Adr = c.Address
            Do
                With Cells(c.Row, c.Column)
                    bul = Wf.Search(kelime, .Value) - 1
                    .Value = .Value & Chr(10) & Wf.Rept(" ", bul) & yeni
                End With
                Set c = .FindNext(c)
            Loop While Not c Is Nothing And c.Address <> Adr
        End If
    End With
 
End Sub
Dosya ektedir.

.
 

Ekli dosyalar

Sayın Ömer bey,
kod yazmayı bilmiyoruz, fonksiyonlarda formül olarak belirtebilirmisiniz?
teşekkürler
 
Sayın Ömer bey,
kod yazmayı bilmiyoruz, fonksiyonlarda formül olarak belirtebilirmisiniz?
teşekkürler

Kod:
=EĞER(B2="";"";A2&DAMGA(10)&YİNELE(" ";MBUL(B2;A2)-1)&C2)

Not: Hücrede hizalama gerektiren konu olduğu için, formül yazılan hücrenin yazı fontu eşit aralıklı olmalıdır. Bu yüzden D sütununun yazı fontu "Courier" olarak seçilmiştir.

Dosya ektedir.

.
 

Ekli dosyalar

Sayın Ömer bey,
yaptığınız formül çok güzel tam istediğimiz gibi. Fakat bir isteğimiz daha var. A1 hücresine çok uzun bir cümle olsa. 1000 veya 2000 kelimelik. Buraya tek tek kelimeleri yazıp yeni değerini tam altına almasını sağlayabilirmisiniz. satırı kaydırmadan olurmu? Sizin formüle göre yaptığınız çalışmayı ekte tekrar gönderiyorum incelermisiniz.
 

Ekli dosyalar

Ömer bey,
sorumuzunun tam örneği ekte ki excel dosyamızda mevcuttur. İncelemenizi rica ederiz.
Çok ama çok teşekkürler
 
Birden fazla veri yerleşimi için fonksiyonla değil makro ile yapmamız daha doğru olur. Gün içinde daha müsait bir anımda yapıp geri dönüş yaparım.
 
Ömer bey,
ilginiz için size burda ki arkadaşlarım adına çok teşekkür ederiz. Sorumuza cevabınızı sabırsıklıkla bekliyoruz. Bütün arkadaşlarım çok rica ediyorlar mutlaka sizden bir cevap bekliyoruz, çünkü haftalardır uğraştığımız bu problemi siz çözdünüz Üstat. Sağolun varolun saygılarımızla
iyi günler
 
Geri
Üst