• DİKKAT

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

tek commandbuton ile farklı makro çalıştırma

  • Konbuyu başlatan Konbuyu başlatan m.gur
  • Başlangıç tarihi Başlangıç tarihi
Katılım
9 Temmuz 2004
Mesajlar
427
Excel Vers. ve Dili
Office 2007 Tr & Office 2019 Tr
Merhaba;
Yaptığım çalışma dosyamda 4 farklı makro var. Ana sayfada 1 tane buton mevcut. Seçilen değere göre ilgili makronun çalışmasını nasıl sağlarım.
 

Ekli dosyalar

Aşağıdaki kodları deneyiniz.

Kod:
Private Sub CommandButton1_Click()
If Range("h3").Value = 1 Then
Call Makro1
ElseIf Range("h3").Value = 2 Then
Call Makro2
ElseIf Range("h3").Value = 3 Then
Call Makro3
ElseIf Range("h3").Value = 4 Then
Call Makro4
Else
Exit Sub
End If
End Sub
 
Sub Makro1()
Msgbox "Selam"
End Sub
 
Sayın Recep İpek;
Çok teşekkür ederim.
 
Alternatif;

Kod:
Private Sub CommandButton1_Click()
Select Case Range("H3").Value
    Case Is = 1: makro1
    Case Is = 2: makro2
    Case Is = 3: makro3
    Case Is = 4: makro4
End Select
End Sub
 
Sayın Ayhan Ercan;
Sizede çok teşekkür ederim. Her ikisi de çalışıyor. Bu arada farklı makro yazılımları öğrenmiş oldum. Sağ olun var olun. Saygılar.
 
Sub SFIYAT_AZ()

Range("B3:IR252").Select

ActiveWorkbook.Worksheets("SFIYAT").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("SFIYAT").Sort.SortFields.Add Key:=Range("B3"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("SFIYAT").Sort
.SetRange Range("B3:BA252")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Sub SFIYAT_ZA()

Range("B3:IR252").Select

ActiveWorkbook.Worksheets("SFIYAT").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("SFIYAT").Sort.SortFields.Add Key:=Range("B3"), _
SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("SFIYAT").Sort
.SetRange Range("B3:BA252")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub

Yukarıda iki tanede sıralama makrosu var bunları tek butonla nasıl çalıştırabilirim?İlk bastığımda birinci makro tekrar bastığımda ikinci makro çalışacak.
 
Deneyiniz.
Kod:
Dim kontrol As Boolean
Sub kod()
If kontrol <> True Then
    Call SFIYAT_AZ
    kontrol = True
Else
    Call SFIYAT_ZA
    kontrol = False
End If
End Sub
 
İlk satırın makronun dışında yer alması gerekiyor. Yine de çalışmıyorsa aşağıdaki şekilde deneyiniz.
Kod:
[COLOR="Red"]Public[/COLOR] kontrol As Boolean
Sub kod()
If kontrol <> True Then
    Call SFIYAT_AZ
    kontrol = True
Else
    Call SFIYAT_ZA
    kontrol = False
End If
End Sub
 
İlk satırın makronun dışında yer alması gerekiyor. Yine de çalışmıyorsa aşağıdaki şekilde deneyiniz.
Kod:
[COLOR="Red"]Public[/COLOR] kontrol As Boolean
Sub kod()
If kontrol <> True Then
    Call SFIYAT_AZ
    kontrol = True
Else
    Call SFIYAT_ZA
    kontrol = False
End If
End Sub

köprü makro ile hallettim teşekkürler
 
Son düzenleme:
Geri
Üst