Bilenlerden bilenenlere VBA dersleri

Katılım
13 Haziran 2009
Mesajlar
486
Excel Vers. ve Dili
excel 2007 tr
Adı garip oldu ama galiba dikkat çekecek..
Selamlar olsun bu konuyu okuyanlara..
Bizler bilenenler grubu üyesiyiz,forumdan tam anlamıyla ve tam olarak yararlanamayan bir grup.(en azından kendim için diyebilirim).
Çok uğraştım öğrenebilmek için,ama userforma digital saat eklemekten başka birşeyi beceremedim.Çok güzel Userformlar hazırlayabiliyorum,renkli renkli ama koda sıra gelice 0 a 0 elde var 0...
öok kodu aldım denedim uydurayım dedim olmadı.
Neyse,bize hoca lazım,basit sorulara basit ama açıklamalı cevap verecek bir uzman,günde 1/2 saat yeter sorularımızın cevaplanması,
katılımlı olsun diye her gün yeni bir bilgi,herkesten soru,çekinmeden sorulacak...
neyse ben basit bir sayfa göndereceğim,sonra da devamlı sorularla kocamaaaan birşey yapacağız.herkes herşeyi ekleyecek,her şeyi soracak.alınız dosyayı bir satır ekleyiniz,soruyu gönderip hep beraber sonucu görelim.
Kolay gelsin şimdiden.
 

Ekli dosyalar

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
Ben uzman degilim ama bu aşamada katılmak isterim, açıklamalı bir kaç kod ve form ilave ettim.
 

Ekli dosyalar

Levent Menteşoğlu

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

Aşağıdaki başlık zaten bu amaçla düzenlenmiştir. Bu başlıktaki değerli uzmanlarımızın konu anlatımlarını incelemenizi öneririm.

Uygulamalı Excel Eğitimi
 
Katılım
13 Haziran 2009
Mesajlar
486
Excel Vers. ve Dili
excel 2007 tr
Sn Altay3555

Aşağıdaki başlık zaten bu amaçla düzenlenmiştir. Bu başlıktaki değerli uzmanlarımızın konu anlatımlarını incelemenizi öneririm.

Uygulamalı Excel Eğitimi

Sayın Hocam,
O başlıkları takip ettim,adım adım okudum,ama her kademede takıldım,
sadece daha ilk ders olarak aldığım,ilk cevabımda araştırdığımdan fazla şey öğrendim desem diğer hocalarıma haksızlık etmiş olurum,lakin gerçek de böyle...
'Form013 arka sayfa Hesaplamaları
Private Sub TextBox156_Enter() 'DaBT-İPA-Hib aşı toplamı
TextBox156 = CInt(TextBox1) + CInt(TextBox24) + CInt(TextBox36) + CInt(TextBox48) + CInt(TextBox60) + CInt(TextBox72) + CInt(TextBox84) + CInt(TextBox96) + CInt(TextBox108) + CInt(TextBox120) + CInt(TextBox132) + CInt(TextBox144)
End Sub
iştebir hesap....bunu örnek kodlarla buldum,ama 1 metre uzunluğunda bunun gibi aşağıa doğru 12 sıra yana doğru 12 sıra var..
yaz babam yaz...
hiçbir örnekte de bulşamadım,textbox numaraları farklı olanları toplama formülünü...ama textbox1+textbox2=topla.....bunun gibisi çok.
ama bizimkinde yok,acemi birisi bunu nasıl çözer,çözemez,
her bir kodda da yardım istemediğim için en iyisi mantığını baştan anlayayım sonra da yaparım diyordum,onun için açtım,,,
Combobox a veri almayı öğrendik...
şimdi de >OptionButtonlar/CheckButton lar hakıkında bilgi alırsak "0" dan mantığını daha kolay öğreniriz diye düşündüm.
O derslere ait (Ferhat Bey),Ziya betin hazırlamış olduğu tüm sayfalar var bende..daha da onlarca sayfa var..
ama bir başlık da da belirttiğim gibi;
KOD YAZMAK YEMEK YAPMAYA BENZER miş..
herkes farklı yapar...
Selamlar....




Not:Dilerseniz bitiririz...
 
Katılım
13 Haziran 2009
Mesajlar
486
Excel Vers. ve Dili
excel 2007 tr
Ders 2

Selamlar.
Devam edelim diye düşünüyorum,yeni dosyadan devam edersek sevinirim.
Kolay Gelsin..
 

Ekli dosyalar

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
Ders2 içinde bilgim yettigince açıklama yaptım sayın uzmanlarımıza saygısızlık olmuyordur umarım hatam olursa uyarsınlar.Tamamına açıklama ekledim Saygılar.

Private Sub CommandButton1_Click()
Set data = Sheets("data") 'bütün kodların önüne sayfayı tektek yazcagımıza data adına sayfayı tanımlayalım
'SORGU BÖLÜMÜ: sayfaya aktarmadan dolu olması gereken kutuları belirleyelim
If TextBox1.Text = "" And TextBox6.Text = "" Then
MsgBox "doldurulması gerekli alanları tamamlayın", , "excel.web.tr"
Exit Sub
End If
'--------------------------------------------------------------------
'öncelikle sıra no için excelin fonksiyonlarından yararlanalım söyleki
a = WorksheetFunction.Max(data.Range("a1:a65000")) + 1
'bu fonksiyonla datasayfasının a sütunun en büyük sayısını bulacagız ona 1 ekledikmi sıra no olacak
boş_satır = data.Range("A65536").End(xlUp).Row + 1
'kayıt yapacagımız satırı bulalım mantık şu enson veri olan satır +1 boş satırdır.
data.Cells(boş_satır, 1).Value = a 'satır numarasını 1.sütuna yollayalım
'şimdi döngü kullanalım kodlarımız kısalsın çalışmamızın verimi artsın
'yukardaki gibi tektek yollamayalım yani
For i = 1 To 5
data.Cells(boş_satır, i + 1).Value = Controls("textbox" & i).Value
Next
'yukarının mantıgı i değişkenine 1 ila 5 arası sıralı döngüyle sayıtanımlıyoruz
'şöyle düşünün tekerlek gibi 1.tur 1 olacak 2.turda 2 gibi....
'sayfada atacagımız sütun 2 den başlayacagı için +1 dedik textbox nesnesinde ise direkt yazdık
'controls kodu nesneneleri kontrol etmemizi saglıyor. tanımlı fonksiyonlardan dolaylı gibi düşünün
'geldik optionbutona
If OptionButton1 = True Then
data.Cells(boş_satır, "h").Value = "*"
Else
data.Cells(boş_satır, "g").Value = "*"
End If
'mantık optionbutton1 seçiliyse(kadın) h sütununa değilse g sütununa * işaterini koysun
data.Cells(boş_satır, "I").Value = TextBox6.Text
'CheckBox olayı
If CheckBox1 = True Then data.Cells(boş_satır, "j").Value = "*"
If CheckBox2 = True Then data.Cells(boş_satır, "k").Value = "*"
If CheckBox3 = True Then data.Cells(boş_satır, "l").Value = "*"
'checkbox un option butondan farkı birden fazla seçim yapılabilir bizde onun için
'3 sorgu ekledik seçili olanların satırlarına * koyacak
'şimdi işimizbitti mesaj verip kutuları temizleyelim yeni veri girişine hazırlayalım formu
MsgBox " AKTARIM TAMAM.....", , "EXCEL.WEB.TR"
For i = 1 To 5
Controls("textbox" & i).Value = ""
Next
TextBox6.Value = ""
CheckBox1 = False
CheckBox2 = False
CheckBox3 = False
OptionButton1 = False
OptionButton2 = False
End Sub

Private Sub OptionButton1_Click()

End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'textboxtan çıkınca kodlar çalışmalı yazdıgımız bitince
'tc kimlik no 11 rakama zorluyacagız
If TextBox6.Text = "" Then Exit Sub 'boş ken olurolmaz uyarı vermesin diye boşsa kod çalışmasın
'tc kimlik no 11 den fazla olursa yazmasın istiyorsak properties ayarlarından maxlength kutusuna 11 yazıyoruz
If Len(TextBox6.Text) < 11 Then 'eğer textbox6 daki karakter sayısı 11 den azsa mesajla uyarsın
MsgBox "eksik rakam tc kimlik no 11 rakamdan oluşmalı.", , "excel.web.tr"
TextBox6.BackColor = &H8080FF 'hatta işi ilerletelim 11 karakterden kısaysa kırmızı olsun
Else
TextBox6.BackColor = &H80000005 '11 karakter olunca beyaza dönsün
End If
End Sub
Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'YAŞI HESAPLIYALIM
BUYIL = Year(Date)
DOĞUM = Year(TextBox4.Text)
TextBox5.Text = Val(BUYIL) - Val(DOĞUM)
End Sub

Private Sub UserForm_Initialize() 'userformun açılışında çalışmasını(olmasını) istedigimiz kodları yürütür.
ComboBox1.RowSource = "veri!a2:a16" 'rowsoruce ile veri sayfasından a1 a16 aralığına verileri alıyoruz.
ComboBox2.RowSource = "veri!b2:b" & Sheets("veri").Range("b65000").End(xlUp).Row
'diyelimki comboboxa alıçagımız verilerin sınırı belli değil yada eklenebilr o zaman
'Sheets("veri").Range("b65000").End(xlUp).Row koduyla sütunun en son dolu hücresini son olarak belirtiyoruz.
ComboBox3.RowSource = "veri!c2:c" & Sheets("veri").Range("c65000").End(xlUp).Row
'comboboxlara günün tarihini yazdıralım kolaylık olur.
ComboBox3.Text = Day(Date)
ComboBox2.Text = Month(Date)
ComboBox1.Text = Year(Date)
'-----------------------------------------------------
End Sub
 

Ekli dosyalar

Katılım
13 Haziran 2009
Mesajlar
486
Excel Vers. ve Dili
excel 2007 tr
Ben sayın Levent Bey'in uyarılarını aslında göz önüne aldım,lakin dediğim gibi ölü linkimiz çok fazla ve uzman arkadaşlarımızda sorularımızla ilgilenmekten ellerinde eskiden kalan dosyaların
arzu edilen bölümlerde yenilenmesine ayırabilecekleri pek zaman da bulamıyorlar kanaatşndeyim.
dediğim gibi ben dersleri takip ettim,90 tane excel sayfası,23 tane rar dosyası,2 filmli anlatım ve kodların da bulunduğu 7 tane da dosyam var...
biraz önce sorduğum bir soruda Cınt ile Val arasındaki farkı hiç bir kod programında açıklası yok.
Toplama ait hepsi birbirinden aşırılmış kod örneği olan 7 dosyada aynı kodlar var.ama 2 toplam 2 çıkarma olan işlemi yapamadım işte..
belki de benden kaynaklanıyordur.
dersimizin amacı da zaten en ince noktasına kadar öğrenmek,adım adım,elbetteki değerli hocalerimızın yayınladığı elimizde bulunan ve anlayamadığımız bölümlere ait sorularımız da olacak,
şekillendikçe daha güzel olacak gibi..
hadi hayırlısı..
ama en önemlisi de,izinle olduğunun tahmin ettiğim bu dersin bundan böyle de yürümesi hocalarımızın "DEVAM" demesine bağlı...
2.dersten sonra-ki siz ışık hızıyla cevaplamışsınız- onay gelene kadar dururuz...
*Saygısızlık konusuna da değinmek isterim ki,Cevaplanabildiği ölçüde bilgi sahiplerinden,yetmediği takdirde de elbetteki uzmanlarımızdan yardım alabileceğimiz kanaatindeydim..
Saygılarımla...
 

Levent Menteşoğlu

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

Öğrenmek için çok heyecanlı olduğunuz anlaşılıyor. Bu durumunuzutakdirle karşılıyorum. Ancak bu konuda sabırlı olmalısınız.
Daha önceden de belirttiğimiz gibi forumumuzun temel amacı üyelerimize sıfırdan excel ve vba öğretmek değil karşılıksız bilgi paylaşmaktır. Elbette bu bilgiyi paylaşırken bir çok kez eğitim ve öğretim amaçlı makaleler ve çalışmalarda forumumuz bünyesindeki değerli uzmanlarımız yada üyelerimiz tarafından hazırlanıyor. Ancak bunlar hazırlanırken hiç bir zaman temel bir eğitim kitabı yada kursu mantığıyla hareket edilmiyor. Takdir edersinizki bu yoğun bir emek ve sabır gerektiren profesyonel amaçlı bir iş. Bu sebeple bizler hiç bir zaman bir üyemize sıfırdan exceli ve vbayı öğretiriz gibi bir iddiada bulunamayız.

Forumumuzda bulunan zengin bilgi birikiminden faydalanabilmek için belirli bir bilgi düzeyine sahip olmak gerekiyor. Eğer ne arayacağınızı bilirseniz forumda aradığınız bir çok bilgiye ulaşabilirsiniz. İşte temel sorunda burada başlıyor. Hangi bilgiye nasıl ulaşağımı nasıl öğreneceğim. İşte bu sorunun cevabını kendiniz bulmak durumundasınız. Bizde size ancak deneyimlerimizi aktararak yardımcı olabiliriz.

Sonuç olarak, umutsuzluğa kapılmadan sabır ve özveriyle çalışarak, araştırarak, sorarak emek vermeniz gerekiyor.

Unutmayınki belirli bir bilgi düzeyine erişmek için yıllara ihtiyacınız olacak.
 
Katılım
13 Haziran 2009
Mesajlar
486
Excel Vers. ve Dili
excel 2007 tr
Selamlar,
OptionButton 1 ve 2 de seçim yapılmazsa Erkek olarak işaret geliyor..
TC kimlik de zorlama yok..fazla sayıda rakam da girebiliyoruz.
 

fedeal

Banned
Katılım
29 Mayıs 2008
Mesajlar
1,985
Excel Vers. ve Dili
2003 tr
Selamlar,
OptionButton 1 ve 2 de seçim yapılmazsa Erkek olarak işaret geliyor..
TC kimlik de zorlama yok..fazla sayıda rakam da girebiliyoruz.
tc kimliknumarası 11 haneden fazla girilmesin isteniliyorsa

'tc kimlik no 11 den fazla olursa yazmasın istiyorsak properties ayarlarından maxlength kutusuna 11 yazıyoruz
öyle bir açıklama yaptım ama yapmadım çünkü okuyup geçilmesin bu aşamada ilgilenenler yapsın diye.

OptionButton 1 ve 2 de seçim yapılmazsa Erkek olarak işaret geliyor..
bu konuyla ilgili olarak aktarım yaparken en az birinin seçilmesine zorlayabiliriz yada kodları (ilgili aktarım kodlarını )değiştirebiliriz.

zorlama yapacaksak aktarım butonu sorgu bölümüne;

If OptionButton1 = false And OptionButton2 = false Then
MsgBox "doldurulması gerekli alanları tamamlayın", , "excel.web.tr"
Exit Sub
End If
ekleyebiliriz.
kodları düzelticeksek;
If OptionButton1 = True Then
data.Cells(boş_satır, "h").Value = "*"
Else
If OptionButton2 = False Then GoTo atla
data.Cells(boş_satır, "g").Value = "*"
End If
atla:
böyle yada;

If OptionButton1 = True Then data.Cells(boş_satır, "h").Value = "*"
If OptionButton2 = True Then data.Cells(boş_satır, "g").Value = "*"
yapabiliriz.

ancak Sayın Altay3555 2. mesajdan sonra onay verilmezse dururuz demişsiniz.Sayın Levent Menteşoğlunun mesajında onay verildimi?
çünkü şu anda hata ayıklama yapıyoruz yani çalışmayı sürdürüyoruz.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,060
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
............
ancak Sayın Altay3555 2. mesajdan sonra onay verilmezse dururuz demişsiniz.Sayın Levent Menteşoğlunun mesajında onay verildimi?
çünkü şu anda hata ayıklama yapıyoruz yani çalışmayı sürdürüyoruz.
Sn fedeal

Böyle bir dayanışma için bizlerin onayını almanıza gerek yok. Ben mesajımı, forumla ilgili beklentilerin ileride bir hayal kırıklığı oluşturmasını engellemek amacıyla yazmıştım.
 
Katılım
13 Haziran 2009
Mesajlar
486
Excel Vers. ve Dili
excel 2007 tr
Sn fedeal

Böyle bir dayanışma için bizlerin onayını almanıza gerek yok. Ben mesajımı, forumla ilgili beklentilerin ileride bir hayal kırıklığı oluşturmasını engellemek amacıyla yazmıştım.

bende okuduklarımdan anladığım kadarıyla karşı olmadıklarını ama forum sitesinin amacının bu olmadığı,ama yapılmış,uygulanmış örnek çalışmalardan da yararlanılabileceğini,mükerrer konular olmaması gerektiği yönünde algıladım,adım adım gittiğimiz için ileride çok daha kapsamlı olabileciğne eminim ve notları öğrendiklerimiz kısmında derlememizin de iyi olduğu kanatindeyim, konuyu pekiştirdikten sonra,anlaşılmaz nokta kalmadıktan sonra tüm forumdaki arkadaşlarımız uyugun gördükleri eklemeleri yaparak,adım adım ilerleyeceğiz.
Levent Bey'in gözlerini üzerimizde hissetmek de ayrı bir güzelliğimiz olacak...
hadi hayırlısı.
 
Üst