• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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
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

  • diğer.png
    diğer.png
    70.9 KB · Görüntüleme: 22
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.
 
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.)
 
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
 
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.
 
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?
 
J3 hücresinde formül yok mu?
 
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.
 
Liste kutusunun change koduna belirttiğiniz satırları yazmayı denediniz mi?
 
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.
 
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..
 
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
 
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 :)
 
Geri
Üst