Bir Takım Veriyi Dizi Oluşturup Dizi İçinde Şarta Tabi Tutma

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
722
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
İyi akşamlar arkadaşlar.

Bazı veriler ile dizi oluşturup, dizi içindeki elemanları şarta tabi tutabilir miyiz.

Şoyleki, bazı branşlar var. "FEN BİLGİSİ ÖĞRETMENİ, BİYOLOJİ ÖĞRETMENİ, KİMYA ÖĞRETMENİ, FİZİK ÖĞRETMENİ" ortaokullarda bu öğretmenler. Lise ve Meslek liselerinde, sosyal bilgiler liselerinde vs. şu an tam bilmemekle o okullarda da bazı branşlar var. MEB bazen bazı branşları bu kapsama alabiliyor. Kapsama alınan branşları da şarta dahil edebilmek için kodlara müdahale etmek gerekiyor.

Yukarıda belirtiğim branşları bir sayfaya yazıp, o sayfadaki verilerle bir dizi oluşturup, şartı dizi içinden sorgulatabilir miyiz. Yukarıda bahsettiğim gibi kapsama alınan bir branş olduğunda da form yardımı ile kapsama alınan branşı bu sayfaya ekleyince dizi içine dahil olsa ve kodlara hiç müdahale etmesek.

Eğer şu branş varsa veya şu branş varsa veya şu branş varsa .... deiilde
Eğer Dizinin içinde şu varsa gibi

Yardımcım olursanız sevinirim
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,160
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Veriyi sayfada tutacaksanız saydırma fonksiyonları ile VBA tarafında işlemi halledebilirsiniz. Dizi kullanmanıza sanıyorum gerek kalmaz.
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
722
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Merhaba arkadaşlar.

Bu konunun devamı olduğu için yeni konu açmadım.

Eklediğim örnek dosyada sonuç yanlış çıkıyor. Combobax tan seçilen değer sayfa1 de var ise Textbox1 deki değeri, kalansız 7 ye bölecek. Combobox'tan seçilen değer sayfa1 de yok ise Textbox1 deki değeri kalansız 10'a bölecek. Combobox'tan seçilen değer sayfa1 de olsun olması hepsini 10'a bölüyor. Bakabilir misiniz.
 

Ekli dosyalar

bmutlu966

Altın Üye
Katılım
26 Ocak 2006
Mesajlar
756
Excel Vers. ve Dili
Office 365 İngilizce 64 Bit
Altın Üyelik Bitiş Tarihi
31-01-2025
Deneyiniz.

Kod:
Private Sub CommandButton1_Click()
Set s1 = Sheets("sayfa1")
For i = 1 To Range("a65000").End(3).Row
On Error Resume Next
If s1.Range("a" & i).Value = ComboBox1.Value Then
t = Fix(TextBox1.Value / 7): GoTo atla
Else
t = Fix(TextBox1.Value / 10)
End If
Next
atla:
MsgBox (ComboBox1.Value & ": " & t)
End Sub
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
722
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Deneyiniz.

Kod:
Private Sub CommandButton1_Click()
Set s1 = Sheets("sayfa1")
For i = 1 To Range("a65000").End(3).Row
On Error Resume Next
If s1.Range("a" & i).Value = ComboBox1.Value Then
t = Fix(TextBox1.Value / 7): GoTo atla
Else
t = Fix(TextBox1.Value / 10)
End If
Next
atla:
MsgBox (ComboBox1.Value & ": " & t)
End Sub
Çok teşekkürler bmutlu966 sonucu doğru veriyor.
 
Üst