• DİKKAT

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

Döngü Çalıştırmak

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,652
Excel Vers. ve Dili
Excel : 2010
Selamün Aleyküm,
Arkadaşlar bir döngüyü çalıştırmak istiyorum bir türlü olmuyor, tek taraflı çalışıyor.
Örneğin : A1:C20 arasında her hangi bir hücrede sayısal değer olarak doluysa D1 hücresine "Test" yazsın, A1:C20 arasında boşsa, boş yazsın("" gibi), teşekkür ediyorum, kolay gelsin.
 
Merhaba Seyit bey,

Kod:
Sub dongu()
    Dim alan As Range
    Range("D1").ClearContents
    
    For Each alan In Range("A1:C20")
        If alan <> "" And IsNumeric(alan) = True Then
            Range("D1") = "Test"
            Exit Sub
        End If
    Next alan
End Sub
İstediğiniz bu mu?

.
 
Ömer bey, çok teşekkür ediyorum, Allah razı olsun.
Şöyle bir sorun var, Change olayına atıyorum döngü tamamlanamıyor, Düğmede sorun yok.
 
Seyit bey,
Aşağıdaki gibi denermisiniz.

Kod:
Application.EnableEvents = False
'---Kodlar--
'-----------
'-----------
'Kodlar son
Application.EnableEvents = True
 
Sayın Orion1, sizin belirtiğiniz gibi yaptım, gene olmadı, bende Change'de çalışmıyor, Düğmede iyi çalışıyor.
 
Ömer bey, çok teşekkür ediyorum, Allah razı olsun.
Şöyle bir sorun var, Change olayına atıyorum döngü tamamlanamıyor, Düğmede sorun yok.

Bu şekilde deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    Dim alan As Range
 
    Range("D1").ClearContents
    For Each alan In Range("A1:C20")
        If alan <> "" And IsNumeric(alan) = True Then
            Application.EnableEvents = False
              Range("D1") = "Test"
            Application.EnableEvents = True
            Exit Sub
        End If
    Next alan
 
End Sub

.
 
Merhaba,

Seyit bey döngüsüz aşağıdaki koduda kullanabilirsiniz.

COUNT = BAĞ_DEĞ_SAY

Kod:
Option Explicit
 
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Son
    Application.EnableEvents = False
    If WorksheetFunction.Count(Range("A1:C20")) > 0 Then
        Range("D1") = "TEST"
    Else
        Range("D1") = ""
    End If
Son: Application.EnableEvents = True
End Sub
 
Arkadaşlar çook teşekkür ediyorum, iki kodta mükemmel çalışıyor.
 
Geri
Üst