Butona Basınca Hücre Değerini Arttırma

huseyinn31

Altın Üye
Katılım
7 Mart 2021
Mesajlar
46
Excel Vers. ve Dili
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
10-10-2025
Merhabalar,

Sheet 2 'de 5 adet butonum var. Sheet 2 'de ki X butonuna basınca, sheet 1 'de X için düşünülen hücredeki rakamı bir arttıracak. Hücre sıfırdan başlayacak ve 1,2,3 olarak devam etmesini istiyorum. Elimdeki vba kodlarıyla bir şeyler denedim ama yapamadım. Yardımlarınız için teşekkürler.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

İstediğiniz bu değilse örnek dosya ekleyerek daha detaylı açıklayınız.
Kod:
Sub test()
    With Sheets("Sheet1")
        .Range("A1") = .Range("A1") + 1
    End With
End Sub
 

Erdal

Altın Üye
Katılım
23 Ekim 2006
Mesajlar
1,048
Excel Vers. ve Dili
Ev: 2021 - Türkçe 32 Bit
İşyeri: 2016 - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
08-10-2029
Merhabalar,

Sheet 2 'de 5 adet butonum var. Sheet 2 'de ki X butonuna basınca, sheet 1 'de X için düşünülen hücredeki rakamı bir arttıracak. Hücre sıfırdan başlayacak ve 1,2,3 olarak devam etmesini istiyorum. Elimdeki vba kodlarıyla bir şeyler denedim ama yapamadım. Yardımlarınız için teşekkürler.
Buton yerine Değer değiştiricisi işinizi görmez mi?
 

huseyinn31

Altın Üye
Katılım
7 Mart 2021
Mesajlar
46
Excel Vers. ve Dili
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
10-10-2025
Merhaba,

İstediğiniz bu değilse örnek dosya ekleyerek daha detaylı açıklayınız.
Kod:
Sub test()
    With Sheets("Sheet1")
        .Range("A1") = .Range("A1") + 1
    End With
End Sub
Hocam çok teşekkürler işimi gördü fakat butona ard arda basılmasını engellemek için süre kısıtı koyabilir miyiz? Mesela bir kez bastıktan sonra ikinci tıklama 10 saniye sonra yapılabilsin gibi
 

huseyinn31

Altın Üye
Katılım
7 Mart 2021
Mesajlar
46
Excel Vers. ve Dili
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
10-10-2025
Buton yerine Değer değiştiricisi işinizi görmez mi?
Sadece yukarı yönlü bir artış olması gerekiyor hocam bir nevi oy pusulası gibi bir şey yapıyorum. Yanlış tarafa basılmaması gerekiyor.
 
Katılım
19 Mart 2010
Mesajlar
144
Excel Vers. ve Dili
Office 365 İngilizce
Altın Üyelik Bitiş Tarihi
20-01-2024
Hocam çok teşekkürler işimi gördü fakat butona ard arda basılmasını engellemek için süre kısıtı koyabilir miyiz? Mesela bir kez bastıktan sonra ikinci tıklama 10 saniye sonra yapılabilsin gibi
Kod:
Private Sub CommandButton1_Click()

Range("A1").Value = Range("A1").Value + 1
CommandButton1.Enabled = False
Application.Wait (Now + TimeValue("0:00:10"))
CommandButton1.Enabled = True

End Sub
hedef hücreyi, buton adını kendinize göre revize edersiniz
 

huseyinn31

Altın Üye
Katılım
7 Mart 2021
Mesajlar
46
Excel Vers. ve Dili
2019 - Türkçe
Altın Üyelik Bitiş Tarihi
10-10-2025
Kod:
Private Sub CommandButton1_Click()

Range("A1").Value = Range("A1").Value + 1
CommandButton1.Enabled = False
Application.Wait (Now + TimeValue("0:00:10"))
CommandButton1.Enabled = True

End Sub
hedef hücreyi, buton adını kendinize göre revize edersiniz
Hocam desteğiniz için teşekkürler fakat 10 saniye kuralı butona basınca tüm işlemleri kitleyerek çalışıyor. Örneğin A adayının butonuna oy sayım görevlisi bir kere bastı ve hemen arkasından diğer adayların oy butonuna basabilmeli fakat 10 saniye geçmeden A adayının butonuna tekrar basmamalı şeklinde çalışması gerekiyor.

Moderatör Ömer beyin kodu istediğim gibi çalışıyor fakat güvenliği arttırmak adına o koda süre eklememiz mümkün mü?
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Bunun için boş bir hücreden yardım alabilirsiniz, yada zamanı kod ile butonun içine yazdırıp ilerleyebilirsiniz.
Yardımcı hücre örneği için X1 hücresi boş düşünerek yazdım.
Kod:
Sub test1()
    With Sheets("Sheet1")
        If .Range("X1") <> "" And (Now - .Range("X1")) < TimeValue("0:00:10") Then
            MsgBox "Zamansız Çalıştırılamaz."
            Exit Sub
        End If
        .Range("A1") = .Range("A1") + 1
        .Range("X1") = Now
    End With
End Sub



Eğer hücreden değilde butonun içine yazdırarak yapmak isterseniz aşağıdaki örneği uygulayabilirsiniz.
Kod:
Sub test2()
    Dim d
    With Sheets("Sheet1")
        d = .Buttons(Application.Caller).Text
        If InStr(d, Chr(10)) > 0 Then
            d = Split(d, Chr(10))(1)
        End If
        If IsDate(d) = True Then
            If (Now - CDate(d)) < TimeValue("0:00:10") Then
                MsgBox "Zamansız Çalıştırılamaz."
                Exit Sub
            End If
        End If
        .Range("A1") = .Range("A1") + 1
        .Buttons(Application.Caller).Text = "BAŞLA" & Chr(10) & Format(Now, "dd.mm.yyyy hh:mm:ss")
        .Buttons(Application.Caller).Characters(Start:=7, Length:=19).Font.ColorIndex = 2
    End With
End Sub
 
Üst