tam kelime bul değiştir

Gold_Savt

Altın Üye
Katılım
5 Mart 2010
Mesajlar
227
Excel Vers. ve Dili
Ofis 2010 TR 32 Bit
Altın Üyelik Bitiş Tarihi
01-02-2025
D sütununda "gümüş" kelimesini bulup "demir" yazdırmak istiyorum. Kelimenin eki varsa veya çift kelime ise dokunmaması gerekiyor. Hücre içindeki Ön ek veya son ekleri görmemesi lazım.
Örneğin
"gümüş tepsi" kelimesine dokunmaması gerekiyor.
"gümüşlük" kelimesine dokunmaması gerekiyor. Sadece "gümüş" tek başına yazıyorsa "demir" olacak.
Valla iyice bunaldım. Makro ile çözümü var mıdır.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Makro kaydet yöntemiyle küçük bir makro oluşturdum. hücre içinde sadece "gümüş" olan hücreler değişti.
C++:
Sub Makro1()
'
' Makro1 Makro
'

'
    Columns("D:D").Select
    Selection.Replace What:="gümüş", Replacement:="demir", LookAt:=xlWhole, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub
 

Gold_Savt

Altın Üye
Katılım
5 Mart 2010
Mesajlar
227
Excel Vers. ve Dili
Ofis 2010 TR 32 Bit
Altın Üyelik Bitiş Tarihi
01-02-2025
Dedim ya kafam durdu iyice. Makro kaydetmek yerine internette aratınca böyle oldu. Teşekkür ediyorum.
 
Katılım
13 Eylül 2012
Mesajlar
97
Excel Vers. ve Dili
2007 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2024
Makro kaydet yöntemiyle küçük bir makro oluşturdum. hücre içinde sadece "gümüş" olan hücreler değişti.
C++:
Sub Makro1()
'
' Makro1 Makro
'

'
    Columns("Q:Q").Select
    Selection.Replace What:="İŞLE", Replacement:="TAMAM", LookAt:=xlWhole, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End Sub
Sy. NextLevel ;

1. Ben bunu kendime göre yapmaya çalışıyorum ama İŞLE yazısı düşeyara ile geldiği için makro değiştirmiyor.
2. bunu farklı sayfalar da tek makro ile uyguya bilir miyiz
sayfalar ;
HESAP FİŞİ sayfası Q sutunu
KOM sayfası P sutunu
Virman sayfası E sutunu ve H sutunu
iş sayfası L sutunu
Halk sayfası H sutunu
kontur sayfası G sutunu

İlginizden Dolayı teşekkür ederim. iyi günler Dilerim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,331
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İŞLE ifadesi formülle geliyorsa bu değişikliği kaynağında yapmanız gerekir.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,331
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu ifade hangi durumda TAMAM olacaksa formülünüzü buna göre revize etmelisiniz.
 
Katılım
13 Eylül 2012
Mesajlar
97
Excel Vers. ve Dili
2007 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2024
Bu ifade hangi durumda TAMAM olacaksa formülünüzü buna göre revize etmelisiniz.
Sy. Koray Bey ;

Zirve Programına yükleme yapıldıktan sonra İŞLE yazan yerleri manuel olarak TAMAM yapıyorum bunu makro yöntemiyle yapmak istiyorum. ilginize teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,331
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İlgili programa veriyi yüklemek için gereken şartlar nedir?
 
Katılım
13 Eylül 2012
Mesajlar
97
Excel Vers. ve Dili
2007 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2024
İlgili programa veriyi yüklemek için gereken şartlar nedir?

Sy. Korhan Bey ;

İlgili (Zirve) Program yükleme şartı Sayfa1 de bulunan TARIH,CARIKODU,MIKTAR,TUTARTL,SIRANO,EVRAKNO,FATURACK,EVRAKTURU,BIRIM,STOKKODU,DOVIZC bu başlıklar olması
bende gerekli sayfalara verileri doldurur sonra İŞLE diyerek Sayfa1' e aktarırım Zirve Programına yükleme yapıldıktan sonra ise İŞLE ' leri TAMAM yaparak o verilerin zirve programına yüklediğimi bilirim ki hem mükerrer yükleme önlüyorum hem ikinci yükleme ile uğraşmadan zaman kaybını engelliyorum. Teşekkür ederim.
 
Katılım
20 Şubat 2012
Mesajlar
242
Excel Vers. ve Dili
office2007 Türkçe
Deneyin. Alıntıdır..

Kod:
Sub Multi_FindReplace()
'PURPOSE: Find & Replace a list of text/values throughout entire workbook
'SOURCE: www.TheSpreadsheetGuru.com/the-code-vault

Dim sht As Worksheet
Dim fndList As Variant
Dim rplcList As Variant
Dim x As Long
 
fndList = Array("gümüş", "bakır", "kelt")
rplcList = Array("demir", "aliminyum", "zelt")

'Loop through each item in Array lists
  For x = LBound(fndList) To UBound(fndList)
    'Loop through each worksheet in ActiveWorkbook
      For Each sht In ActiveWorkbook.Worksheets
      sht.Cells.Find 45, , , xlPart
        sht.Cells.Replace What:=fndList(x), Replacement:=rplcList(x), _
          LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, _
          SearchFormat:=False, ReplaceFormat:=False
      Next sht
  Next x
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,331
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sizin talebiniz formül sonucunu değiştirmek. Bunu formülü bozmadan yapamazsınız.

Verileri Zirve programına yükledikten sonra HESAP FİŞİ sayfasında R sütununa "Aktarıldı" gibi bir ifade yazdırırsanız yol alabilirsiniz diye düşünüyorum.
 
Katılım
13 Eylül 2012
Mesajlar
97
Excel Vers. ve Dili
2007 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2024
Deneyin. Alıntıdır..

Kod:
Sub Multi_FindReplace()
'PURPOSE: Find & Replace a list of text/values throughout entire workbook
'SOURCE: www.TheSpreadsheetGuru.com/the-code-vault

Dim sht As Worksheet
Dim fndList As Variant
Dim rplcList As Variant
Dim x As Long

fndList = Array("gümüş", "bakır", "kelt")
rplcList = Array("demir", "aliminyum", "zelt")

'Loop through each item in Array lists
  For x = LBound(fndList) To UBound(fndList)
    'Loop through each worksheet in ActiveWorkbook
      For Each sht In ActiveWorkbook.Worksheets
      sht.Cells.Find 45, , , xlPart
        sht.Cells.Replace What:=fndList(x), Replacement:=rplcList(x), _
          LookAt:=xlWhole, SearchOrder:=xlByRows, MatchCase:=False, _
          SearchFormat:=False, ReplaceFormat:=False
      Next sht
  Next x
End Sub
Sy. Excelokyanus50 ;
ilginiz için teşekkür ederim. Burada şöyle bir sorun ile karşılaşıyorum excel dosyasında ki bütün İŞLE' ri değiştiriyor ama ben sadece
HESAP FİŞİ sayfası Q sutunu
KOM sayfası P sutunu
Virman sayfası E sutunu ve H sutunu
iş sayfası L sutunu
Halk sayfası H sutunu
kontur sayfası G sutunu larında bulunan İŞLE' leri TAMAM yapmak istiyorum teşekkür ederim.
 
Katılım
13 Eylül 2012
Mesajlar
97
Excel Vers. ve Dili
2007 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2024
Sizin talebiniz formül sonucunu değiştirmek. Bunu formülü bozmadan yapamazsınız.

Verileri Zirve programına yükledikten sonra HESAP FİŞİ sayfasında R sütununa "Aktarıldı" gibi bir ifade yazdırırsanız yol alabilirsiniz diye düşünüyorum.

Sy. Korhan bey ;

Zirve Programına yükleme yaptıktan sonra HESAP FİŞİ sayfası Q Sutunda ki İŞLE ' leri manuel olarak TAMAM yapıyorum sadece bu Mauel yapmayı makro ile yapmak istiyorum
Q sutunun da Düşeyara şartı var her veri Zirveye yüklenmiyor eğer şart uyarsa İŞLE çıkıyor bu İŞLE çıkınca Sayfa1 ' e aktarıyor ordan da Zirve Programına yükleme yapıyorum yükleme sonrasında ise İŞLE' leri TAMAM yapıyorum yok şart uymuyor ise Hayır diyor o zaman Sayfa1' e veri gitmiyor
ilginize teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,331
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu kodu deneyiniz.

C++:
Option Explicit

Sub Degistir()
    Dim Sh As Worksheet, Sayfa As Variant, Veri As Range
    Dim Alan As Variant, X As Byte, Son As Long
    
    With Application
        .ScreenUpdating = False
        .Calculation = xlCalculationManual
    End With
    
    Sayfa = Array("HESAP FİŞİ", "KOM", "Virman", "Virman", "iş", "Halk", "kontur")
    Alan = Array("Q2:Q", "P2:P", "E2:E", "H2:H", "L2:L", "H2:H", "G2:G")
    
    For X = LBound(Sayfa) To UBound(Sayfa)
        Set Sh = Sheets(Sayfa(X))
        Son = Sh.Cells(Sh.Rows.Count, Split(Alan(X), ":")(1)).End(3).Row
        For Each Veri In Sh.Range(Alan(X) & Son)
            If UCase(Replace(Replace(Veri.Value, "ı", "I"), "i", "İ")) = "İŞLE" Then Veri.Value = "TAMAM"
        Next
    Next
    
    With Application
        .ScreenUpdating = True
        .Calculation = xlCalculationAutomatic
    End With
    
    MsgBox "Değişiklikler uygulanmıştır.", vbInformation
End Sub
 
Katılım
13 Eylül 2012
Mesajlar
97
Excel Vers. ve Dili
2007 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2024
Bu kodu deneyiniz.

C++:
Option Explicit

Sub Degistir()
    Dim Veri As Range
    For Each Veri In Range("Q2:Q" & Cells(Rows.Count, "Q").End(3).Row)
        If Veri.Value = "İŞLE" Then Veri.Value = "TAMAM"
    Next
   
    MsgBox "Değişiklikler uygulanmıştır.", vbInformation
End Sub
Sy. Korhan ;
Elinize ve Emeğinize sağlık kod çok güzel çalışıyor lakin tek sorun
HESAP FİŞİ sayfası Q sutunu
KOM sayfası P sutunu
Virman sayfası E sutunu ve H sutunu
iş sayfası L sutunu
Halk sayfası H sutunun da hepsinde çalışmasını sağlamak teşekkür eder iyi günler dilerim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,331
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Kodu revize ettim. Son halini tekrar deneyiniz.
 
Katılım
13 Eylül 2012
Mesajlar
97
Excel Vers. ve Dili
2007 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2024
Kodu revize ettim. Son halini tekrar deneyiniz.
Sy. Korhan bey ;
çok teşekkür ederim. çalışıyor ama bir tek Virman E sutununda otomatik tarih olduğu için böyle bir hata veriyor teşekkür ederim.

226477
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,331
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ben #6 nolu mesajınızın ekindeki dosyada sorunsuz çalıştırabiliyorum.
 
Katılım
13 Eylül 2012
Mesajlar
97
Excel Vers. ve Dili
2007 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2024
Ben #6 nolu mesajınızın ekindeki dosyada sorunsuz çalıştırabiliyorum.
Sy. Korhan Bey ;
Özür dilerim ben modül yerine halk sayfası kod kısmına yapmışım.
Gerçek dosya üzerinde deneme yaptığımda 3000 satırdı hesaplanıyor (4 işlemci )%54 sağ alt köşede yanım yanım sönüyor öylece olduğu gibi duruyor acaba sebebi nedir. Teşekkür ederim.
 
Üst