• DİKKAT

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

If komutuyla farklı userformlar çağırma

Katılım
16 Ekim 2010
Mesajlar
17
Excel Vers. ve Dili
2007 türkçe
Forumda biraz gezindim ancak benzer bir başlık göremedim. Eğer var ve gözümden kaçtı ise kusura bakmayın.

2 tane userform oluşturdum. yapmak istediğim şey belirlediğim d sütunundaki aralıktan bir hücre tıklanırsa userform6, f sütunundaki aralıktan bir hücre tıklanırsa userform5 açılsın. Bunlar dışında bir yer tıklanırsa tepki vermesin.

Kodları şu şekilde uyguladım.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, Range("F3:F6018, D3:D6018")) Is Nothing Then Exit Sub
If Target < "F3:F6018" > "" Then UserForm5.Show
If Target < "D3:D6018" > "" Then UserForm6.Show
Son:
End Sub


Ancak bu durumda d ya da f deki aralıktan birine tıkladığımda önce userform5 açılıyor kapatınca userform 6 açılıyor.

Hatanın sebebini bulamıyorum. Yardımcı olur musunuz?
 
Denermisiniz.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, Range("F3:D36018")) Is Nothing Then Exit Sub
If Target < "F3:F6018" > "" Then 
UserForm5.Show
ElseIf Target < "D3:D6018" > "" Then
 UserForm6.Show
End If
Son:
End Sub
 
Sanırım bu satırdan kaynaklı bir hata oluştu. D3 - F36018 e kadar nereyi tıklarsam tıklayayım sadece Userform5 açılıyor.
If Intersect(Target, Range("F3:D36018")) Is Nothing Then Exit Sub
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error GoTo Son
    If Intersect(Target, Range("D2:D6018, F2:F6018")) Is Nothing Then Exit Sub
    If Target < "F3:F6018" > "" Then
    UserForm5.Show
    ElseIf Target < "D3:D6018" > "" Then
    UserForm6.Show
    End If
Son:
End Sub

Şeklinde düzenledim. bu defada sadece userform5 açılıyor. userform6 yı açtıramıyorum.


Denermisiniz.
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error GoTo Son
If Intersect(Target, Range("F3:D36018")) Is Nothing Then Exit Sub
If Target < "F3:F6018" > "" Then 
UserForm5.Show
ElseIf Target < "D3:D6018" > "" Then
 UserForm6.Show
End If
Son:
End Sub
 
Ekleme :

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error GoTo Son
    If Intersect(Target, Range("D2:D6018, F2:F6018")) Is Nothing Then Exit Sub
    If Target < "D2:D6018" > "" Then
    UserForm6.Show
    ElseIf Target < "F2:F6018" > "" Then
    UserForm5.Show
    End If
Son:
End Sub

Şeklinde yapınca da d ya da f sütununda aralığa tıklayınca sadece userform6 açılıyor.
 
Aşağıdaki kod ile çözüldü.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error GoTo Son
    If Intersect(Target, Range("D2:D6018, F2:F6018")) Is Nothing Then Exit Sub
    If Not Intersect(Target, Range("D2:D6018")) Is Nothing Then
        UserForm6.Show
    ElseIf Not Intersect(Target, Range("F2:F6018")) Is Nothing Then
        UserForm5.Show
    End If
Son:
End Sub
 
Geri
Üst