• DİKKAT

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

Döngüyü bir türlü kuramadım

Katılım
24 Haziran 2019
Mesajlar
16
Excel Vers. ve Dili
excel
Merhabalar
Bir yerde takıldım. Yardımcı olabilir misiniz lütfen ? Teşekkürler

Birçok hücereden oluşan hesaplama tablom var.

G44 hücresinde bir değer var. Buradaki değer makro çalışmadan önce orada mutlaka oluyor.
Bu değer makro çalıştıktan sonra üst hücrelerdeki işlemler sonucu her zaman değişiyor. Aşağı ya da yukarı yönde.

Makroyu çalıştırıyorum.
Eğer G44 değeri 1 den küçükse G6 hücresindeki değeri 1 arttır.
değilse 1 azalt.
Bunu G44 değeri 0 ya da sıfıra yakın bir değer olana kadar devam et.

Formül aşağıda ve güzel çalışıyor ancak döngüyü kuramadım.
Do while ile yapmıştım istediğim sonucu alamadım.


Sub deneme_max()

If (Range("G44") < 1) Then
Range("G6").Value = Range("G6").Value + 1
Else
Range("G6").Value = Range("G6").Value - 1
End If

End Sub
 
Merhaba.
G44 hücresindeki değer hangi durumlarda değişiyor?
Burayı elle mi değiştiriyorsunuz yoksa formül mü var?
 
Bu şekilde bir dener misiniz?

Kod:
While Not Range("G44") = 0

If (Range("G44") < 1) Then
Range("G6").Value = Range("G6").Value + 1
Else
Range("G6").Value = Range("G6").Value - 1
End If

Wend

yada

Kod:
Do Until Range("G44") = 0

If (Range("G44") < 1) Then
Range("G6").Value = Range("G6").Value + 1
Else
Range("G6").Value = Range("G6").Value - 1
End If

    Loop
 
Son düzenleme:
Sayfanın kod kısmına yapıştırın.
G44 hücresinde bir değişiklik olduğunda kod otomatik çalışır.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Range("G44"), Target) Is Nothing Then
        If (Range("G44") < 1) Then
            Range("G6").Value = Range("G6").Value + 1
        Else
            Range("G6").Value = Range("G6").Value - 1
        End If
    End If
End Sub
 
Geri
Üst