• DİKKAT

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

Şarta bağlı kayan yazı

adigeturklim

Altın Üye
Katılım
24 Nisan 2009
Mesajlar
213
Excel Vers. ve Dili
Windows 10 Pro / Office 365
Merhaba,

Daha önce kayan yazı için aşağıdaki kodları bulmuştum fakat yazılan kodu button ile hareket geçirmek değilde ilgili şart yerine geldiğinde harekete geçirmek istiyorum. Kodu örneğe göre düzeltmek için yardım rica edebilir miyim.
Örnek: E10 hücresi sıfırdan büyük veya küçükse (kod çalışacak şart)

kod:

Private Sub CommandButton1_Click()
Dim A, C
yazı = "YANLIŞ HESAPLAMA"
yazı2 = Space(25) & yazı
For d = 1 To 3
For e = 1 To 25
A = Timer
C = A + 0.1
Do While Timer < C
[B2] = Space(e) & yazı
[B3] = Right(yazı2, Len(yazı2) - e)
k = k - 1
DoEvents
Loop
DoEvents
A = Timer
C = A + 0.1
Next
Next d
[B2] = ""
[B3] = ""
End Sub
 
. . .

E10 hücresine elle veri girişi yapıyor musunuz yoksa
hücrede formül mü var.

. . .
 
Merhaba Hüseyin Bey, E10 hücresinde formül olacak. formül sonucuna göre sıfırdan büyük veya küçükse kodu tetikleyecek. teşekkür ederim
 
Merhaba,
Üzgünüm yanlış ifade etmişim, E178 hücresinde şu formül olacak : TOPLA(D174:D177) bunun sonucu sıfırdan büyük veya küçük çıkarda E10 hücresinde buna bağlı olarak kayan yazı çalışacak
 
. . .

Çalışma sayfasının kod bölümüne yapıştırarak deneyiniz..

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Intersect(Target, [D174:D177]) Is Nothing Then Exit Sub
    If Range("E178") = 0 Then ' Exit Sub
    GoTo atla
    Else
    Dim A, C
    yazı = "YANLIŞ HESAPLAMA"
    yazı2 = Space(25) & yazı
    For d = 1 To 3
        For e = 1 To 25
            A = Timer
            C = A + 0.1
            Do While Timer < C
                [E10] = Space(e) & yazı
                '[E11] = Right(yazı2, Len(yazı2) - e)
                k = k - 1
                DoEvents
            Loop
            DoEvents
            A = Timer
            C = A + 0.1
        Next
    Next d
    [E10] = ""
    '[E11] = ""
    End If

Exit Sub
atla:
[E10] = ""

End Sub

. . .
 
. . .

Çalıştıramadığınız dosya ile ekleyin, inceleyelim.

. . .
 
. . .

Formül sonucu E178 de olacak demiştiniz. Tablonuzda D178 de..
Kırmızı satırı bulup aşağıdaki ile değiştirin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Intersect(Target, [D174:D177]) Is Nothing Then Exit Sub
   [COLOR="Red"] If Range("[B]D[/B]178") = 0 Then[/COLOR] ' Exit Sub
    GoTo atla
    Else

. . .
 
Hocam örnek olarak linklediğim Excel' de kod çalışıyor fakat asıl Excel dosyasına aldığımda kod çalışmıyor. Sebebini anlayamadım. İkisi de .xlsm uzantılı
 
. . .

Hata uyarısı veriyor mu.
Tablonuzda başka Worksheet_Change ile başlayan kod olabilir.

. . .
 
Hayır hiç hata vermiyor fakat ilgili hücre sonucu sıfırdan büyük veya küçük çıktığında kayan yazı devreye girmiyor.
 
Tablonuzu gormeden birsey diyemem.
Yine atladiginiz bir yer olabilir..

. . .
 
Hocam dosyada D178 Hücre sonucuna göre E10 hücresine (sarı alan) kayan yazı gelecek. teşekkürler
 
. . .

En baştada sormuştum size kodları tetikleyecek alan nedir diye.
Kodları [D174:D177] aralığına veri girince çalıştır şeklinde yaptık. Ancak bu alanlara değerler formülden geliyor.

. . .
 
Hocam yordum sizi, son olarak bi dokunuş daha yapsanız, D178 sıfırdan büyük ve küçükse şeklinde düzeltseniz
 
Geri
Üst