Listbox dan seçilen verinin makroyu çalıştırması

Katılım
21 Nisan 2006
Mesajlar
72
Merhaba Arkadaşlar ,

Daha öncede bu tip bir soru sormuştum ama çalışmadığı için sorumu yinelemek istiyorum.

Listboxsa sıraladığım verilerden herhangi birini seçtiğimde o veriye ait makronun çalışmasını istiyorum.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target = [a1] Then
If [a1] = "ali" Then ali
If [a1] = "veli" Then veli
End If
End Sub

Sub ali()
MsgBox "ali makrosu çalıştı"
End Sub

Sub veli()
MsgBox "veli makrosu çalıştı"
End Sub

Şeklinde bir makro vermişti arkadaşımız
Ama bunun çalıştırdığımda ona baglı olan makromun daha ilk satırında
"Range("E1:E8").Select" sarı renkte hata verip makroyu durdurmaktadır.

Nedeni nedir acaba
Saygılarımla
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
listboxtan seçilen verinin makronun adı olduğunu kabul edersek aşağıdaki gibi deneyin.

Kod:
Run ListBox1
 
Katılım
21 Nisan 2006
Mesajlar
72
Sayın Levent Bey ,

Vermiş olduğunu komutu nereye koymam gerekiyor ?

Saygılarımla
 
Katılım
21 Nisan 2006
Mesajlar
72
Sayın levent Bey ,

Oluşturmuş olduğum listbox ı Tasarım Modundan yapmadım ,

Veri - Doğrulama - Liste ' den belirlemiş olduğum hücre aralığından oluşturdum , dolayısı ile bunu nereye koyacağımı anlıyamadım.
Yardımcı olursanız sevinirin.

Saygılarımla
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosyanızı eklermisiniz.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu sayfanın kod sayfasına kopyalayın.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [d10]) Is Nothing Then Exit Sub
Run [d10].Value
End Sub
Not: Çalışması için bir normal modülde ALİ, VELİ...... isminde prosedürler olmalıdır.
 
Katılım
21 Nisan 2006
Mesajlar
72
Sayın Levent Bey ,

Listboxda seçtiğim yazı ile makronun isminin aynı olmaması için ne yapabilirim ,

Çünkü listboxda parantezli , uzun ve farklı karakterde yazılar var.
O yüzden orda seçtiğim hücredeki ile makronun adının aynı olmasını istemiyorum.

Teşekkür ederim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu durumda aşağıdaki gibi bir kodlama kullanabilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [d10]) Is Nothing Then Exit Sub
Select Case Target
Case "ALİ": makro1
Case "VELİ": makro2
.
.
.
End Select
End Sub
 
Katılım
21 Nisan 2006
Mesajlar
72
Sayın Levent Bey ,

Yardımlarınızdan dolayı çok teşekkür ederim , tam olarak istediğim gibi oldu.

Saygılarımla
 
Üst