veri girdiğim hücre yandaki hücre ile etkileşip yeni değeri girsin

Katılım
5 Eylül 2005
Mesajlar
11
a1 hücresine "5" yazdığımı varsayalım.. b1 hücresine "100" yazıp "enter" e bastığımda b1 hücresine 500 yazmasını (a1 ile b1 i anlık çarpıp b1 hücresine yazsın) istiyorum. bunun basit bir formülü varmıdır yoksa makro ile filan mı yapılabilir.. yardımcı olursanız çok sevinirim.. teşekkürler
 

ÖmerFaruk

Altın Üye
Katılım
22 Ekim 2017
Mesajlar
2,870
Excel Vers. ve Dili
Ofis 365 Türkçe
Aşağıdaki kodsu sayfanın kod penceresine aynen yapıştırın.
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Target.Value = Target.Value * Target.Offset(0, -1)
    Application.EnableEvents = True
End Sub
 
Katılım
5 Eylül 2005
Mesajlar
11
Aşağıdaki kodsu sayfanın kod penceresine aynen yapıştırın.
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Target.Value = Target.Value * Target.Offset(0, -1)
    Application.EnableEvents = True
End Sub
yanıtınız için çok çok teşekkür ederim. kod sayfasına nasıl yapıştıracağımı bilmiyorum ama onu bulabilirim sanırım :))
 

ÖmerFaruk

Altın Üye
Katılım
22 Ekim 2017
Mesajlar
2,870
Excel Vers. ve Dili
Ofis 365 Türkçe
Bu işlemi istediğiniz Excel sayfanız açıkken Alt+F11 tuşuna basın, boş bir pencere gelecek
Çıkan pencereye kodu aynen yapıştırın.
Excel sayfanıza dönün. İşlemi deneyin.

Dosyanızı kaydederken Makro İçerebilen dosya olarak kaydedin.
 
Katılım
5 Eylül 2005
Mesajlar
11
Bu işlemi istediğiniz Excel sayfanız açıkken Alt+F11 tuşuna basın, boş bir pencere gelecek
Çıkan pencereye kodu aynen yapıştırın.
Excel sayfanıza dönün. İşlemi deneyin.

Dosyanızı kaydederken Makro İçerebilen dosya olarak kaydedin.
Sn. Ömer Faruk bey.. öncelikle yardımlarınız için çok teşekkür ediyorum.. şuana kadar formülü çoklu satırlarda (b1:b10) gibi çalıştırdım.. ama satır ekleyip çıkardığımda kod bozuluyor :((

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("B1:B10")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Target.Value = Target.Value * Range("A1")
    Application.EnableEvents = True
End Sub
 

ÖmerFaruk

Altın Üye
Katılım
22 Ekim 2017
Mesajlar
2,870
Excel Vers. ve Dili
Ofis 365 Türkçe
Satır ekleyip çıkarmakdan kastınız nedir?
 

ÖmerFaruk

Altın Üye
Katılım
22 Ekim 2017
Mesajlar
2,870
Excel Vers. ve Dili
Ofis 365 Türkçe
Şu şekilde kullanın
C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("B1:B10")) Is Nothing Then Exit Sub
    If Target.Count > 1 Then Exit Sub
    Application.EnableEvents = False
    Target.Value = Target.Value * Range("A1")
    Application.EnableEvents = True
End Sub
 

1mak1mak

Altın Üye
Katılım
9 Ocak 2011
Mesajlar
308
Excel Vers. ve Dili
2007 Türkçe
Hocam son kodu bende denedim ama alt satırlara indikçe sonuç hatalı veriyor.
Ancak #2 nolu mesajdaki kodunuz gayet güzel çalışıyor Kodu (B:B) olarak ayarlayınca.
Teşekkürler
 
Üst