Döngüsel başvuru

Katılım
1 Mayıs 2006
Mesajlar
3
Arkadaşlar şöyle bir problrmim var yardımcı olursanız sevinirim.
Diyelim B1 hücresinde 1,25 diye bi rakam var
ve ben A1 hücresine girdiğim her sayının B1 hüccresindeki bu sayı ile bir kez çarpılarak A1 hücresinde görünmesini istiyorum
örneğin A1 hücresine 100 tuşladığımda bana 125 gösterecek

A1 hücresine nasıl bi formul yazmak gerek

Saygılar...
 

Metin Karaağaç

Uzman
Altın Üye
Katılım
25 Aralık 2004
Mesajlar
1,793
Excel Vers. ve Dili
Office 2016 Pro Plus-Türkçe
Altın Üyelik Bitiş Tarihi
10-12-2025
Bu isteğiniz formülle olmaz, makro ile olur.
Aşağıdaki kodu sayfa 1 e kopyalayın

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[A1] = [A1] * [B1]
End Sub
 

Metin Karaağaç

Uzman
Altın Üye
Katılım
25 Aralık 2004
Mesajlar
1,793
Excel Vers. ve Dili
Office 2016 Pro Plus-Türkçe
Altın Üyelik Bitiş Tarihi
10-12-2025
Ups..
Bi hata var :hayir:
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
aşağıdaki kodu çalıştığınız sayfanın kod editörüne kopyalayınız.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if target.address="a1" then
range("a1")=range("a1")*range("b1")
end if
End Sub
 

Metin Karaağaç

Uzman
Altın Üye
Katılım
25 Aralık 2004
Mesajlar
1,793
Excel Vers. ve Dili
Office 2016 Pro Plus-Türkçe
Altın Üyelik Bitiş Tarihi
10-12-2025
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if target.address="a1" then
range("a1")=range("a1")*range("b1")
End if
End Sub


Bende mi bi sorun var?
Gene olmadı
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
Sayın Acemi teşekkürler eksik satırı ekledim
 

Metin Karaağaç

Uzman
Altın Üye
Katılım
25 Aralık 2004
Mesajlar
1,793
Excel Vers. ve Dili
Office 2016 Pro Plus-Türkçe
Altın Üyelik Bitiş Tarihi
10-12-2025
Bi yerde hata yapıyoruz, olmuyor Sn alpi

Aslında çok basit bir kod ama benim gibi bir acemi el atınca çok karıştı iş:)
 
Katılım
22 Haziran 2005
Mesajlar
998
Excel Vers. ve Dili
Office 2007 Türkçe
kodları deneme fırsatım olmadan yazıyorum ve haliyle unuttuğum yerler olabiliyor. düzelttiğiniz için teşkkür
 

Metin Karaağaç

Uzman
Altın Üye
Katılım
25 Aralık 2004
Mesajlar
1,793
Excel Vers. ve Dili
Office 2016 Pro Plus-Türkçe
Altın Üyelik Bitiş Tarihi
10-12-2025
Sn alpi.
Verdiğiniz kod bende çalışmıyor.
Hücredeki değeri değiştiriyorum, tık yok..
 
Katılım
1 Mayıs 2006
Mesajlar
3
Arkadaşlar, yardımlarınız için teşekkürler.
kodlar ben de çalışmıyor...

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
[A1] = [A1] * [B1]
End Sub

formülü çalışmış olmakla beraber, benim her hücreye tıklayışımda sayı üretiyor ve bunu hafızasında oluşturduğu yeni A1 değerlerini B1 değeri ile çarparak yapıyor. oysa benim A1 değerim her seferinde manuel girdiğim rastgele sayılar.

Bunun hücre içerisine kod yazarak çözülebildiğini hatırlıyorum ($! vs. kullanarak) ama nasıl onu bilmiyorum

Saygılar...
 

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,345
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
If Target.Address = "$A$1" Then

Sorun altı çizili yer.
 

Metin Karaağaç

Uzman
Altın Üye
Katılım
25 Aralık 2004
Mesajlar
1,793
Excel Vers. ve Dili
Office 2016 Pro Plus-Türkçe
Altın Üyelik Bitiş Tarihi
10-12-2025
anemos' Alıntı:
If Target.Address = "$A$1" Then

Sorun altı çizili yer.
Yani?
Nasıl olmalı kodlar???

Ben ne denediysem olmadı, worksheet_selectionchange ile başlarsam her hücreyi seçtiğimde 1.25 ile çarpıyor.
Bunu engelleyemedim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kod aşağıdaki gibi olmalıdır.

[vb:1:92686788f8]Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address <> "$A$1" Then Exit Sub
[a1] = [a1] * [b1]
Application.EnableEvents = True
End Sub
[/vb:1:92686788f8]

Kod içindeki "Application.EnableEvents" satırları çok önemlidir. Çünkü change olayına yazılan bir kodlamada eğer target yani hedef hücreyi yine sonucun yazıldığı hücre olarak kullanıyorsanız, işlem kısır döngüye girer. Çünkü her yazılan sonuçta kod tekrar çalışacaktır. Kodun sadece bir kez işlem yapmasını sağlamak için enable.events satırlarının ilavesi gereklidir.
 

Metin Karaağaç

Uzman
Altın Üye
Katılım
25 Aralık 2004
Mesajlar
1,793
Excel Vers. ve Dili
Office 2016 Pro Plus-Türkçe
Altın Üyelik Bitiş Tarihi
10-12-2025
Üstat, gene olmadı.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Neden? kodu sayfanın kod sayfasına kopyalayın, B1 e sabit bir değer girin, daha sonra A1 hücresine gireceğiniz her değerde kod çalışacaktır.
 

Metin Karaağaç

Uzman
Altın Üye
Katılım
25 Aralık 2004
Mesajlar
1,793
Excel Vers. ve Dili
Office 2016 Pro Plus-Türkçe
Altın Üyelik Bitiş Tarihi
10-12-2025
Anlamıyorum, çalışmıyor.
sayfaya yapıştırdım.
B1 e 1.25 i girdim, A1 e 100 yazıyorum, 100 kalıyor, 200 yazıyorum 200 kalıyor.
ama çarpma işlemini yapmıyor.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ekte bir dosya sunuyorum.

Not:Eğer dosyadada çalışmazsa aşağıdaki ufak kodu sadece bir seferliğine çalıştırın ve silin.

[vb:1:52b5c8bfbf]Sub ayarla()
Application.EnableEvents = True
end sub[/vb:1:52b5c8bfbf]
 

Metin Karaağaç

Uzman
Altın Üye
Katılım
25 Aralık 2004
Mesajlar
1,793
Excel Vers. ve Dili
Office 2016 Pro Plus-Türkçe
Altın Üyelik Bitiş Tarihi
10-12-2025
Evet sizin dosyada çalıştı. "sub ayarla"ya gerek kalmadı hemde.
Peki benim çalışma kitabımda niye çalışmadı?
Aynı kodlar, aynı excel
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Peki benim çalışma kitabımda niye çalışmadı?
Aynı kodlar, aynı excel
Açıkçası bende anlayamadım. Peki kendi dosyanızda öncelikle o ufak kodu çalıştırarak denermisiniz.
 

Metin Karaağaç

Uzman
Altın Üye
Katılım
25 Aralık 2004
Mesajlar
1,793
Excel Vers. ve Dili
Office 2016 Pro Plus-Türkçe
Altın Üyelik Bitiş Tarihi
10-12-2025
Evet ufak kodu çalıştırdım, şimdi çalıştı.
 
Üst