• DİKKAT

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

Birden fazla şarta bağlı Makro çalıştırma

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,472
Excel Vers. ve Dili
Office 2010 & 2013 tr
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [B18].Value = 10 Then
Call Makro1
End If
End Sub

Değerli arkadaşlar,
Yukarda şartlı makro çalıştırma kodları yazılı. Fakat bu kod, hücreye sayı girdiği anda devreye giriyor.
Bu kodu bir düğmeye bağlayıp, düğmeye tıkladığımızda şart gerçekleşiyorsa çalışacak hale getirebilir miyiz?
Bir de, şart sayısını artırabilir miyiz? Mesela B18 20 ise Makro1'i, B18 25 ise Makro2'yi, B18 40 ise Makro3'ü, çalıştırsın.
Saygılar...
 
oradaki kodları dümeye atayın ve oradaki yazılı kodları silin.:cool:
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If [B18].Value = 10 Then
Call Makro1
End If
End Sub

Bir de, şart sayısını artırabilir miyiz? Mesela B18 20 ise Makro1'i, B18 25 ise Makro2'yi, B18 40 ise Makro3'ü, çalıştırsın.
Saygılar...

Makroyu düğmeye atadım. Ancak ikinci sorum çok daha önemli. Yukarıda yazdığı gibi birden fazla şarta bağlayabilir miyiz?
 
kodlar ne yapılacağını söylüyor.
Kodları inceleyin ve yeni şartlara göre ilaveler yapın.:cool:
 
kodlar ne yapılacağını söylüyor.
Kodları inceleyin ve yeni şartlara göre ilaveler yapın.:cool:

Syn. hocam, ben acemi bir talebeyim. 1. kısmı msjnızdan sonra uğraştım, hallettim. Girişe Sub Makro() yazdım oldu.
2. kısma sabahtan beri uğraşıyorum. ikinci bir If yazdım olmadı, End If yazdım olmadı. Girişe Private Sub yazdım olmadı. Kısaca azıcık bilgimle ne yaptıysam olmadı.
Kısaca son çare uzmanlarımıza müracaat edeyim dedim.
 
Selamlar,

Aşağıdaki kodu denermisiniz.

Kod:
Sub MAKRO_ÇALIŞTIR()
    Select Case [B18]
    Case Is = 20: MAKRO1
    Case Is = 25: MAKRO2
    Case Is = 40: MAKRO3
    End Select
End Sub
 
Sub MAKRO1()
    MsgBox "MAKRO 1 ÇALIŞTI..."
End Sub
 
Sub MAKRO2()
    MsgBox "MAKRO 2 ÇALIŞTI..."
End Sub
 
Sub MAKRO3()
    MsgBox "MAKRO 3 ÇALIŞTI..."
End Sub
 
Syn. Korhan hocam,
Çok teşekkür ederim. Makro gayet güzel çalışıyor.
Syn. hocam,
Seçilen hücre sayısını artırabilir miyiz?
Mesela B18 20 ise Makro1'i, B30 25 ise Makro2'yi, B50 40 ise Makro3'ü çalıştırabilir mi?
Bir de şartlı hücreyi başka sayfadan oluşturmak istersek ne yapmalıyız.
İlginizden dolayı tekrar teşekkür ederim.
Saygılar...
 
Selamlar,

Kodu aşağıdaki şekilde değiştirip denermisiniz.

Kod:
Sub MAKRO_ÇALIŞTIR()
    If Sheets("Sayfa2").[B18] = 20 Then MAKRO1
    If Sheets("Sayfa2").[B30] = 25 Then MAKRO2
    If Sheets("Sayfa2").[B50] = 40 Then MAKRO3
    'Bu şekilde dilediğiniz kadar ekleyebilirsiniz.
End Sub
 
Syn. Korhan hocam,
Çok teşekkür ederim. Makro tam benim istediğim gibi, fakat sanırım ben eksik bir istekte bulundum.
Makroyu kendi dosyama uyguladığımda bir aksaklık çıktı. Dosyamda sayıların bulunduğu sütun aynı olduğu için, makrolar çakışıyor. Düğmeye tıkladığımda üç makro sırayla çalışıyor.
Makroyu şöyle değiştirebilir miyiz?
B50'de 40 yazıyorsa Makro3 çalışsın diğerleri devre dışı kalsın; B30'da 25 yazıyorsa Makro2 çalışsın, diğer ikisi devre dışı kalsın, B18'de 20 yazıyorsa Makro1 çalışsın diğerleri devre dışı kalsın.
Saygılar...
 
İlginç bir kod. Değerlendirmeye çalışacağım. Paylaşım için teşekkürler.
 
Geri
Üst