• DİKKAT

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

İki ayrı makroyu tek düğmede çalıştırmak

  • Konbuyu başlatan Konbuyu başlatan hakpin
  • Başlangıç tarihi Başlangıç tarihi

hakpin

Banned
Katılım
16 Ekim 2006
Mesajlar
106
Excel Vers. ve Dili
Excel 2003 Türkçe
Aşağıda yazılı kodda iki ayrı düğme altında çalışan makroyu tek düğme ile bir basışta, birinci makro ikinci basışta, ikinci makronun çalıması için araya yazılacak kodu bilmiyorum.Yardımlarınız için çok teşekkür ederim.

Sub Düğme638_Tıklat()

Düğme638_Tıklat Makro
ActiveSheet.Shapes("Picture 627").Select
Selection.ShapeRange.IncrementLeft -873#
Selection.ShapeRange.IncrementTop 2.25
Range("d93").Select
End Sub

Sub Düğme639_Tıklat()

Düğme639_Tıklat Makro
ActiveSheet.Shapes("Picture 627").Select
Selection.ShapeRange.IncrementLeft 834#
Selection.ShapeRange.IncrementTop 4.5
Range("d93").Select
End Sub
 
ScrollBar (Kaydırma Çubuğu) yada SpinButton (Değer değişimi düğmesi) düğmelerini kullanmak belki işinizi görebilir. Bu düğmelerin LinkedCell (hücre bağlantısını) Örneğin A1 hücresine verirseniz. Maximum özellğini 2, Minumum özelliğini 1 yaparsanız, Birinci tıklamada A1 hücresinin değeri 1 olur. İkinci tıklamada 2 olur.
Eğer A1 hücresi =1 ise Birinci Makro, Eğer A1 hücresi 2 ise ikinci makro çalıştırılabilir.
Bu şekilde bir düğmeyle çok sayıda makro çalıştırabilirsiniz. Dilerseniz A1 hücresine 1 veya 2 değil anlamlı şeyler de yazabilirsiniz.
Ayrıca ToggleButton'u da kullanabilirsiniz. ToggleButtona kodların nasıl yazılacağı ile ilgili bu forumda çok sayıda örnek olduğunu biliyorum. Arama yaparak bulabilirsin.
 
Kıymetli orhan kaya;
İlginize teşekkür ederim.Yazmış olduğunu kaydırma çubuğunu c2 hücresine atadım ama bunu kod üzer,ne nasıl ilave edeceğimi bilmiyorum.
 
sayın hapkin belki tam işinize yaramayabilir eklediğiniz düğmeye aşağıdaki makroyu atadığınızda düğmeye tek tıklama ile iki makro birden çalışır, sorunuzun tam yanıtı olmasa da işinize yarayabilir,


Sub ikimakro()
Call Düğme638_Tıklat
Call Düğme639_Tıklat
End Sub
 
Örneğin Oluşturduğunuz düğme SpinButton ise SpinButton'u çift tıklayın açılan kod sayfasına aşağıdaki kodu yazın.

Private Sub SpinButton1_Change()
If Sheets("Sayfa3").Range("C2").Value = 1 Then
MsgBox ("Birinci Makro") 'Buraya Makronun kodlarını yada makronun ismini yazın
End If
If Sheets("Sayfa3").Range("C2").Value = 2 Then
MsgBox ("İkinci Makro") 'Buraya Makronun kodlarını yada makronun ismini yazın
End If
End Sub
 
Son düzenleme:
boolean ifadeler

tek buton ile de aşaıdaki şekilde çalıştırabilirsiniz.


sub yenidugme()
static a as boolean
if a=true then
call ilkmakro
a=false
exit sub
elseif a=false
call ikincimakro
a=true
exit sub
end if
end sub

kolay gelsin.
 
Kıymetli CARPEDİEM ;
Öncelikle ilginize teşekkür ederim,Yazmış olduğunuz kodu mevcut makroya nasıl uygulayabileceğimi bilmiyorum.Yazmış plduğum kod üzerinde uygulayarak yardımcı olursanız sevinirim.Kolay gesin,bilginize sağlık
 
Kıymetli CARPEDİEM ;
Öncelikle ilginize teşekkür ederim,Yazmış olduğunuz kodu mevcut makroya nasıl uygulayabileceğimi bilmiyorum.Yazmış plduğum kod üzerinde uygulayarak yardımcı olursanız sevinirim.Kolay gesin,bilginize sağlık


call """ilkmakro"""

call """"ikincimakro""""

Kendi Macrolarınızının adlarını bu bölümlere yazınız.
 
İki makroyu tek düğmeyle ayrı ayrı çalıştırmanın bir yolu da ToggleButton Kullanmaktır.
ToggleButton Çıtçıtılı kalem gibi çalışır. Birinci basmamızda ilk makro, ikinci basmamızda ikinci makro çalışır. Üçüncü basmamızda tekrar ilk makro çalışır.
Buton üzerindeki yazı kod ile değiştirilebilir.
ToggleButton üzerine çitt tıklanır. Açılan kod sayfasına aşağıdaki kod yapıştırılır.

Private Sub ToggleButton1_Click()
If ToggleButton1.Value = True Then
ToggleButton1.Caption = "Tıkla1"
MsgBox ("Makro1")
Else
ToggleButton1.Caption = "Tıkla2"
MsgBox ("Makro2")
End If
End Sub

MsgBox ("Makro1") yazan yere kendi makronuzun adını yada kodlarını yazmalısınız.
Tıla1 ve Tıkla2 yerine başka şeyler yazabilirsiniz.
 
Kıymetli Orhan KAYA,
Yakın ilginize teşekkür ederim.Yazdığınız kodu uyguladım çalışıyor,tekrar teşekkür ederim.Kolay gelsin
 
Son düzenleme:
Geri
Üst