Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 21-04-2018, 18:21   #1
publicenemy
 
Giriş: 16/10/2010
Şehir: Gaziantep
Mesaj: 17
Excel Vers. ve Dili:
2007 türkçe
Varsayılan If komutuyla farklı userformlar çağırma

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, D36018")) Is Nothing Then Exit Sub
If Target < "F3:F6018" > "" Then UserForm5.Show
If Target < "D36018" > "" 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?
publicenemy Çevrimdışı   Alıntı Yaparak Cevapla
Eski 21-04-2018, 18:53   #2
yanginci34
Altın Üye
 
Giriş: 06/07/2010
Şehir: istanbul
Mesaj: 700
Excel Vers. ve Dili:
excel2013
Varsayılan

Denermisiniz.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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
yanginci34 Çevrimdışı   Alıntı Yaparak Cevapla
Eski 21-04-2018, 20:16   #3
publicenemy
 
Giriş: 16/10/2010
Şehir: Gaziantep
Mesaj: 17
Excel Vers. ve Dili:
2007 türkçe
Varsayılan

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("F336018")) Is Nothing Then Exit Sub
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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.


Alıntı:
yanginci34 tarafından gönderildi Mesajı Görüntüle
Denermisiniz.
Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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
publicenemy Çevrimdışı   Alıntı Yaparak Cevapla
Eski 21-04-2018, 20:38   #4
publicenemy
 
Giriş: 16/10/2010
Şehir: Gaziantep
Mesaj: 17
Excel Vers. ve Dili:
2007 türkçe
Varsayılan

Ekleme :

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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.
publicenemy Çevrimdışı   Alıntı Yaparak Cevapla
Eski 21-04-2018, 21:12   #5
publicenemy
 
Giriş: 16/10/2010
Şehir: Gaziantep
Mesaj: 17
Excel Vers. ve Dili:
2007 türkçe
Varsayılan

Aşağıdaki kod ile çözüldü.

Kod: (Rahat kopyalayabilmeniz için tüm kodu seçmenizi sağlar)
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
publicenemy Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 19:27


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Karton Bardak- Çorlu Dil Konuşma Terapisti- Çorlu Dil Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Konuşma Terapisti- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Çorlu- Çorlu Araç Takip- Rampa- Çorlu İnternet Sitesi- Çorlu Sürücü Kursu- Şişli Avukat- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta- Kağıt Bardak- Kağıt Bardak- Çorlu Havuz- Çorlu Havuz- Çorlu Perde Yıkama- Okul Danışmanlık- ADR'li taşıma kabı imalatı- Mekanik Tesisat- Çorlu Grafik Tasarım- Çorlu Sondaj- Çorlu Etüt- Futbol Cafe- Beylikdüzü Temizlik- Çorlu Kurs- Çorlu Ders- İzmit Mimar- Hurda Bakır Kablo- Hurda Bakır Kablo- Çorlu Pronet- Çorlu Yönetim- Çorlu Apartman Yönetimi- Çorlu Marangoz- Çorlu Avukat- Çorlu Su Arıtma- Çorlu Kompresör- İstanbul İnşaat-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden