Bir düğmeye tıklama sayısına göre görev atama

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Yapmak istediğim, kısaca;

Makro atadığım bir düğmeye, bir defa tıkladığımda "A1" hücresini, ikinci tıkladığımda da "B1" hücresini sildirmek. İlk tıklamada sadece isim bilgilerini silecek, firma bilgileri sabit kalacak; ikinci tıklamamda firma bilgilerini de silecek.

"userform" üzerinde a=a+1 yazıp; eğer a=1 ise birinci görevi yap, eğer a=2 ise ikinci görevi yap gibi kodlar denedim, ama olmadı, yapamadım.

Ancak yine de ben yapmak istediğimi başka bir yolla hallettim, ama her yerde kullanabilceğim bir çözüm değil.

Yukarıda bahsettiğim gibi, aynı düğmeye, tıklama sayısına göre farklı görevler yaptırtabilir miyiz?

Teşekkürler, iyi çalışmalar.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,900
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Bunun için togglebutton kullanmak işiniz görmezmi.

Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
Range("A1") = ""
Else
Range("B1") = ""
End If
End Sub

İlk seferde A1 hücresini siler ikinci seferde B1 hücresini siler.
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Sn.fructose cevabı yazmış ama aşağıdaki kodlarıda kullanabilirsiniz.

Kod:
Global s As Boolean
Sub Button1_Click()
On Error Resume Next
If s = False Then
Range("A1").ClearContents
s = True
ElseIf s = True Then
Range("B1").ClearContents
s = False
End If
End Sub
 
Katılım
16 Eylül 2005
Mesajlar
179
Excel Vers. ve Dili
Excel 2007 12.0
2 den fazla değer alacaksa aşağıdaki yöntemi kullanabilirsiniz.

Kod:
[LEFT]global değişken as integer
sub caseX()
select case değişken
 
case 1
   'kodlar...[/LEFT]
case 2
   'kodlar...
case 3
   'kodlar...
case ...
...
 
case n
end select
end sub
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
Teşekkür ediyorum arkadaşlar. İkiden fazlası için.... Tekrar teşekkürler.
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
2'den fazlası için verdiğiniz kodu çalıştıramadım. Düğmeye bu makroyu atadım; başka bir şekilde mi yapmam gerekiyordu?
 

Mahmut Kök

Özel Üye
Katılım
14 Temmuz 2006
Mesajlar
878
Excel Vers. ve Dili
Excel 2007 - Türkçe
cevap olarak gelen ilk 2 kod çalışıyor. 2'den fazla tıklamaya bağlı bir çalışma olabilir mi acaba?

Bununla ilgili olarak arkadaşımızın verdiği case'li kodu çalıştıramadım. İlk 2 kodu kendime göre uyarlayıp, daha kullanışlı hale de getirdim. mesela, her seferinde 2 kez tıklamak zorunda değilim. Eğer ikinci tıklamadaki kodun çalışmasını o anda istemiyorsam, yani art arda sadece 1. kodun çalışmasını istiyorsam, ona göre de uyarlama yapmayı denedim, olumlu sonuç aldım. Hatta, 2 tıklamada çalışma durumunu süreye de bağlayabiliriz, mesela, ikinci tıklamayı 2-3 saniye içerisinde yapmazsak, tekrar başa dönebilir.

Bu konuyla ilgili başka görüşleriniz de varsa, paylaşmak isterim, çünkü bana lazım olan bir husus ve en iyi yol hangisiyse onu seçmek isterim. Teşekkürler...
 
Katılım
14 Şubat 2006
Mesajlar
3,426
Excel Vers. ve Dili
(Excel 2016 - İngilizce)
Altın Üyelik Bitiş Tarihi
30-11-2022
Öneri olarak bir Userform tasarlayıp burada her makro için birer tane optionbutton koyabilirsiniz.

Çalıştırmak istediğiniz makroyu bunlardan seçerek butona basmanız yeterli olacaktır.
 
Katılım
16 Eylül 2005
Mesajlar
179
Excel Vers. ve Dili
Excel 2007 12.0
bu işinizi görür sanırım
 
Üst