• DİKKAT

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

A1 hücresine çift tıklandığında makro1, C1 hücresine çift tıklandığında makro2 yi tetikleme

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,904
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Merhaba Arkadaşlar,
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("A1:C1")) Is Nothing Then Exit Sub
    Call Makro1
End Sub
Bu kodlar A1, B1 ya da C1 hücrelerinde çift tıklayınca Makro1 'i tetikliyor.
Bunu nasıl, A1 çift tıklanınca Makro1, C1 çift tıklanınca Makro2 'yi tetikler hale getirebilirim.
Saygılarımla
 
Select-Case metodunu kullanabilirsiniz.
 
Merhaba,

Sadece A1 ve C1'e tıklandığında çalışmasını istiyorsanız, aşağıdaki kodu inceleyiniz.
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    If Intersect(Target, [A1,C1]) Is Nothing Then Exit Sub
    
    If Target.Column = 1 Then
        Makro1
    Else
        Makro2
    End If
    
End Sub
 
Sayın Necdet Hocam,
Çok teşekkür ederim.
Saygılarımla
 
Alternatif;
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Target.Address = "$A$1" Then
MsgBox "1.Makro"
End If
If Target.Address = "$C$1" Then
MsgBox "2.Makro"
End If
End Sub
 
Sayın Seyit Tiken Hocam,
İlginize çok teşekkür ederim. Farklı yöntemler öğrenmek çok güzel. İnsanın zihni açılıyor. Umarım daha farklı yöntemler de görürüm.
Saygılarımla
 
Bu şekilde de kullanabilirsiniz.
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Not Intersect(Target, [a1]) Is Nothing Then
MsgBox "1.Makro"
End If
If Not Intersect(Target, [c1]) Is Nothing Then
MsgBox "2.Makro"
End If
End Sub
 
Bir de bu şekil var.
Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
If Intersect(Target, [a1]) Is Nothing Then GoTo hata
MsgBox "1.Makro"
hata:
If Intersect(Target, [c1]) Is Nothing Then GoTo hata2
MsgBox "2.Makro"
hata2:
End Sub
 
Sayın Seyit Tiken Hocam,
Çok teşekkürler, select-case yöntemini merak ediyorum. Daha önce hiç gördüğümü hatırlamıyorum.
Saygılarımla
 
Sayın Seyit Tiken Hocam,
Çok teşekkürler, select-case yöntemini merak ediyorum. Daha önce hiç gördüğümü hatırlamıyorum.
Saygılarımla

Kodu inceleyiniz.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

    If Intersect(Target, [A1, C1]) Is Nothing Then Exit Sub
   
    Select Case Target.Column
        Case 1
            Makro1
         Case 3
            Makro2
    End Select
       
End Sub

Select Case yöntemini VBA'nın yardımından alınan kodları inceleyiniz.

Kod:
Public Sub CaseOrnek()
    Dim Number As Integer
    Number = 8    ' Initialize variable.
    Select Case Number    ' Evaluate Number.
    Case 1 To 5    ' Number between 1 and 5, inclusive.
        Debug.Print "1 ve 5 arasında"
    ' The following is the only Case clause that evaluates to True.
    ' The following is the only Case clause that evaluates to True.
    Case 6, 7, 8    ' Number between 6 and 8.
        Debug.Print "Between 6 and 8"
    Case 9 To 10    ' Number is 9 or 10.
    Debug.Print "Greater than 8"
    Case Else    ' Other values.
        Debug.Print "Not between 1 and 10"
    End Select
End Sub
 
Son düzenleme:
Sayın Necdet Hocam,
İlginize çok teşekkür ederim.
Saygılarımla
 
Buda olabilir...

C++:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    Select Case Target.Address(0, 0)
        Case "A1": Makro1
        Case "C1": Makro2
    End Select
End Sub
 
Sayın Korhan Ayhan Hocam,
İlginize çok teşekkür ederim.
Saygılarımla
 
Yardımcı olan olmayan tüm arkadaşlara tekrar teşekkür ederim.
Bu yapılan işlemler, bana, öğretmenlik yaptığım yıllarda, aynı soruyu 8 - 10 farklı yoldan çözdüğüm dönemleri anımsattı.
İyi ki varsınız.
Saygılarımla
 
Geri
Üst