yerine yaz veya bul-değiştir gibi bir makro

Katılım
19 Mayıs 2007
Mesajlar
154
Excel Vers. ve Dili
office 2003
örnek ekte arkadaşlar.
a 1 hücresine ne yazarsam formüllerdeki metinle değişsin istiyorum.
mümkünmü acaba.!!!
 

Ekli dosyalar

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,557
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodları ilgili sayfanın kod bölümüne kopyalayıp dener misiniz?

Kod:
Public Eski As Variant
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
Selection.SpecialCells(xlCellTypeFormulas, 23).Replace What:=Eski, Replacement:=[A1], LookAt:=xlPart _
    , SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
Son:
End Sub
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, [A1]) Is Nothing Then Exit Sub
Eski = [A1]
Son:
End Sub
 

Ekli dosyalar

Katılım
19 Mayıs 2007
Mesajlar
154
Excel Vers. ve Dili
office 2003
teşekkür ederim sayın yeşertener.
gene herzamanki gibi harikasınız.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,557
Excel Vers. ve Dili
Ofis 365 Türkçe
Rica ederim, güle güle kullanınız.
 
Katılım
24 Mart 2008
Mesajlar
16
Excel Vers. ve Dili
excel 2007 eng
Güncelleme butonu

merhaba,Benimde bul değiştir şeklinde bir ihtiyacım var.
bir giriş sayfası yaptım ve her dosya numarası girildiğinde gidip o dosyaya ait işlem nosunu güncellemesi gerek aslında bir update butonu yapmak istiyorum

Ekte hazırladığım excel var ama ben ancak Selection.Find(What:="0001" .... komutu ile belirli alanı buldurabiliyorum bana gereken ise Selection.Find(What:=sheet1!A1...... şeklinde bir şey yazman

Yardımcı olursanız çok sevinirim
 

Ekli dosyalar

Katılım
28 Haziran 2011
Mesajlar
7
Excel Vers. ve Dili
2016
Satır Artırma Problemi

Merhaba arkadaşlar,

yeni başladım vba yazmaya ve saçma bir iş olarak 5 adet userform'a kod yazdım ve yazdığım kodlar excel'in 2.satırına veri giriyor. kodu her çalıştırdığımda bir alt satıra girmesini istiyorum.

5 userform ile bir anket girişi düşünün ve vba kısmında kodların tamamında Range("A2") gibi girişler yaptım. şimdi farkettim ki anketi tekrarladığımda 2.satıra yazmaya başlayacak tekrar.
yazdığım kodlar çok uzun olduğundan aşağıdaki gibi bir satır artırma yöntemi uygulayamıyorum.

kısa bir yolu varmıdır? kurtarabilir misiniz beni bu dertten :(


Range("A3").Select
Do While Not IsEmpty(ActiveCell)
ActiveCell.Offset(1, 0).Select
Loop
If Range("A3").Value = "" Then
Range("A3").Value = 1
Range("A3").Select
Else
ActiveCell.Value = ActiveCell.Offset(-1, 0) + 1
End If
ActiveCell.Offset(0, 1).Value = TextBox1.Text
ActiveCell.Offset(0, 2).Value = TextBox2.Text
ActiveCell.Offset(0, 3).Value = TextBox3.Text
ActiveCell.Offset(0, 4).Value = TextBox4.Text
ActiveCell.Offset(0, 5).Value = TextBox5.Text
 
Katılım
12 Aralık 2015
Mesajlar
1,227
Excel Vers. ve Dili
Türkçe Ofis 2007
Sayın depdemir
Herhalde tablonuzda, kayıtlarınız 3. satırdan başlıyor ve ilk 2 satır ise başlık olsa gerek.
Kod:
say = Range("A65536").End(3).Row + 1
If say = 3 Then
Cells(say, 1).Value = 1
Else
Cells(say, 1).Value = Cells(say - 1, 1).Value + 1
End If
For i = 1 To 5
Cells(say, i + 1).Value = Me.Controls("TextBox" & i)
Next
 
Son düzenleme:
Katılım
17 Temmuz 2017
Mesajlar
21
Excel Vers. ve Dili
office 2007 türkçe
hocalarım abilerim benim sorunum şu bu makroda tüm satışlar sayfsında aradağı değerden 2 tane var ve ilkini değiştiriyor ama ikinci defa makroyu kulandığımda yine aynı değiştirdiğini buluyor ve onu değiştiriyor ikincisini değiştirmiyor bunu yapma nedeni tüm satışlarda filtreleme olması filtreleme olduğu için en üstten başlıyor ve en üstte dolu olan yani ilk önce değiştirdiği hücre oluyor o yüzden onu tekrar bi daha değiştiriyor en alt hücreden tarayarak gelmesini nasıl sağlarım


Kod:
Sub BUL_AKTAR()
       
   Worksheets("tüm satışlar").Unprotect
    
   Dim s1 As Worksheet, s2 As Worksheet, BUL As Range, ADRES As String
    
    Set s1 = Sheets("SATIŞ KAYDI")
    Set s2 = Sheets("tüm satışlar")
    
    Set BUL = s2.Range("A:A").Find(s1.Range("ı1"), , , xlWhole)
    If Not BUL Is Nothing Then
        ADRES = BUL.Address
        Do
            If s1.Range("ı2") = BUL.Offset(0, 1) Then
                If s1.Range("ı3") = BUL.Offset(0, 2) Then
                    If s1.Range("ı6") = BUL.Offset(0, 5) Then
                     If s1.Range("ı10") = BUL.Offset(0, 9) Then
                            s1.Range("ı1:ı14").Copy
                            s2.Range("A" & BUL.Row).PasteSpecial xlPasteValues, , , True
                            Application.CutCopyMode = False
                            
                            MsgBox "Veriler aktarılmıştır.", vbInformation
                            Exit Do
                        End If
                      End If
                    End If
                End If
            Set BUL = s2.Range("A:A").FindNext(BUL)
        Loop While Not BUL Is Nothing And BUL.Address <> ADRES
    End If
    
                        
    Set BUL = Nothing
    Set s1 = Nothing
    Set s2 = Nothing
   Worksheets("tüm satışlar").Protect
End Sub
 
Üst