VBA Hücre Değerine göre şart atama (Başaramıyorum)

Katılım
12 Ekim 2010
Mesajlar
224
Excel Vers. ve Dili
2013 türkçe
Altın Üyelik Bitiş Tarihi
01-03-2021
Arkadaşlar altı üstü j3 hücresi değer değiştirince j4 hücresinin 1 olmasını istiyorum... ama bir türlü olmadı..

j3 hücresinde formül var ve başka bir sayfada değişen değerden alıyor kendi değerini. başka sayfada dediğim değer de liste kutundan seçtiğim değere göre değişiyor.
Sonuçta j3 hücresinde bir değişiklik oluyor.. ama formül çalışmıyor lütfen bir bakabilirmisiniz...
 

Ekli dosyalar

Katılım
12 Ekim 2010
Mesajlar
224
Excel Vers. ve Dili
2013 türkçe
Altın Üyelik Bitiş Tarihi
01-03-2021
Hücre Değerine göre değil de açılır liste kutusunda ki değer değişince makronun çalışması lazım ne yapabilriz.
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
568
Excel Vers. ve Dili
Office365 TR
https://hizliresim.com/ sitesine ekran görüntüsünü yükleyip, link atar mısınız. Bakayım.
j3 ve j4 deki formülleri de yazar mısınız. (Ekran görüntüsünde varsa gerek yok.)
 
Katılım
12 Ekim 2010
Mesajlar
224
Excel Vers. ve Dili
2013 türkçe
Altın Üyelik Bitiş Tarihi
01-03-2021
Yükledim hocam
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,748
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sizin kullandığınız kod J3 hücresini elle değiştirdiğinizde devreye gireceğinden istediğiniz sonucu vermeyecektir. Kodu aşağıdaki gibi düzenleyip deneyiniz.

C++:
Private Sub Worksheet_Calculate()
    Select Case Range("J3")
        Case "A": Range("J4") = 1
        Case "B": Range("J4") = 2
    End Select
End Sub
 
Katılım
12 Ekim 2010
Mesajlar
224
Excel Vers. ve Dili
2013 türkçe
Altın Üyelik Bitiş Tarihi
01-03-2021
Korhan hocam herhangi bir değişiklik olmadı.
Liste kutusu j3 hücresine ilişikli.. Listeden bir şey seçtiğimde j3 hücresi değişiyor. j3 hücresi değiştiğinde j4 hücresi 1 değerini alsın istiyorum.
Kodu sayfanın makro bölümüne yapıştırdım ama hiç bir değişiklik olmuyor..
Liste kutusu için bir makro mu yazmalıyız.. bana bir yol gösterirseniz çok memnun olurum.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Tam olarak ne yapmak istediğiniz anlaşılmıyor. J3 hücresi değişince J4 hücresi 1 olacaksa değişmeyince ne olacak? Neden J3 hücresindeki değere göre J4 hücresine formül yazmıyorsunuz? Asıl yapmak istediğinzi nedir?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,748
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
J3 hücresinde formül yok mu?
 
Katılım
12 Ekim 2010
Mesajlar
224
Excel Vers. ve Dili
2013 türkçe
Altın Üyelik Bitiş Tarihi
01-03-2021
Asıl yapmak istediğim şudur..
bir liste kutusu var. Liste kutusu j3 hücresine ilişikli. Liste kutusunda herhangi bir seçim yaptığımda j3 hücresi değişiyor..
Yani liste kutusunda bir seçim gerçekleştirdiğimde j4 hücresi 1 değerini alsın..
seçim gerçekleştirmediğimde herhangi bir şey yapmasına gerek yok.. j4 hücresi değeri ne olursa kalsın..
yani şöyle açıklayım

If: liste kutusunda herhangi bir değişiklik olduğunda then
Range("j4").value=1
else
Range("j4").value=Range("j4").value
End If.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Liste kutusunun change koduna belirttiğiniz satırları yazmayı denediniz mi?
 
Katılım
12 Ekim 2010
Mesajlar
224
Excel Vers. ve Dili
2013 türkçe
Altın Üyelik Bitiş Tarihi
01-03-2021
Liste kutusunun change koduna belirttiğiniz satırları yazmayı denediniz mi?
Yusuf hocam dünden beri birşeyler yazıyorum ama değiştittiremedim. deneye deneye kafamda allak pullak oldu..
Liste kutusu olması işi mahvetti.
Direk hücrede çalışıp bir değişiklik gerçekleştirdiğimde

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [j3]) Is Nothing Then Exit Sub
Range("j4").Value = 1
End Sub
Şu kod işe yarıyor. ama liste kutusu açıp j3 bağladığımda olmuyor..
liste kutusu koymam da şart.
 
Katılım
12 Ekim 2010
Mesajlar
224
Excel Vers. ve Dili
2013 türkçe
Altın Üyelik Bitiş Tarihi
01-03-2021
Liste Kutusuna sağ tıklayıp makro ata desek içine hangi kodu koyabiliriz.. Yani değişiklik olduğunda diye bir ıf koşulu lazım
değişiklik olduğunda çalışır muhtemelen..
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,071
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Liste kutusu yerine J3'e veri doğrulama ayarlamayı denediniz mi?

Listbox yerine Activex denetimlerinden combobox (birleşik giriş kutusu) ekleyip, şu kodu kullanabilirsiniz:

Private Sub ComboBox1_Change()
[J4] = 1
End Sub
 
Katılım
12 Ekim 2010
Mesajlar
224
Excel Vers. ve Dili
2013 türkçe
Altın Üyelik Bitiş Tarihi
01-03-2021
Aslında çok basit Liste kutusunda bir seçim gerçekleştirdiğimde j4 hücresi 1 değeri alcak.. Kod yazamıyorum..
Makro sayfasına
Liste kutusu yerine J3'e veri doğrulama ayarlamayı denediniz mi?

Listbox yerine Activex denetimlerinden combobox (birleşik giriş kutusu) ekleyip, şu kodu kullanabilirsiniz:

Private Sub ComboBox1_Change()
[J4] = 1
End Sub
Yusuf hocam hay allah razı olsun...
Göstermiş olduğunuz örnek harika bir fikir uyandırdı bende.
Liste kutusuna sağ tıklayıp makro ata dedim.

Sub Acilir_15 ()
Range("j4").value=1
End Sub

kodu yazıp bıraktım.
Liste kutusundan seçim gerçekleştirdiğimde
j4 hücresi 1 değerini aldı ve bitti.
Çok teşekkür ederim. Harikasın :)
 
Üst