Araç Servis Takip Programı (AST-v.2) foruma eklenmiştir. 
http://www.excelce.net/forum/index.php?topic=1656.0

Gönderen Konu: Dershane Kayıt Form / program  (Okunma sayısı 44755 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı serul

  • Boş zaman yoktur , boşa geçen zaman vardır !
  • Excelce Onbaşı
  • **
  • İleti: 66
  • Puan +0/-0
  • Cinsiyet: Bay
  • Ad Soyad: Serkan ULUÇINAR
  • İl / İlçe: Rize
Ynt: Dershane Kayıt Form / program
« Yanıtla #15 : 27 Aralık 2010, 09:15:13 »

(run time error 424 )
Private Sub CommandButton1_Click()
lblAYLIK.Caption = CDbl(Label6) / CDbl(ComboBox2)
End Sub
Yanlış var mı ?

[Forum yazılım güncelleme esnasında sorun oluştuğundan eklendi silinmiştir.]

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dershane Kayıt Form / program
« Yanıtla #16 : 27 Aralık 2010, 09:17:25 »
yok onu yapmadım onu ihtiyaçtan değilde meraktan sormuştum.
Yapılabilir. If şartı ile kriter belirlenebilir.


Kodlardaki CDbl metni matematiksel değere çeviriyor demekki.

Evet. Forumda değişkenler konusunu inceleyebilirsiniz.


Peki kodun başındaki lbl nin işlevi nedir ?

Label'e verilen isim.
Yukarıdaki mesajınızda AYLIK label ifadesini kullandığınız için ben de lblAYLIK olarak isimlendirdim.
Kullanım kolaylığı için kontroller isimlendirilirken başlarına türünü belirten ifade konması daha faydalı oluyor.

Label için "lbl", Textbox için "txt", CommandButton için "cmd", Combobox için "cb" gibi...
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dershane Kayıt Form / program
« Yanıtla #17 : 27 Aralık 2010, 09:19:40 »
(run time error 424 )
Private Sub CommandButton1_Click()
lblAYLIK.Caption = CDbl(Label6) / CDbl(ComboBox2)
End Sub
Yanlış var mı ?

Label'inizin adı nedir?
AYLIK mı lblAYLIK mı?

Düzeltirseniz çalışacaktır.
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı serul

  • Boş zaman yoktur , boşa geçen zaman vardır !
  • Excelce Onbaşı
  • **
  • İleti: 66
  • Puan +0/-0
  • Cinsiyet: Bay
  • Ad Soyad: Serkan ULUÇINAR
  • İl / İlçe: Rize
Ynt: Dershane Kayıt Form / program
« Yanıtla #18 : 27 Aralık 2010, 09:24:19 »
Bu Formüle OptionButton1 seçili olduğunda %15 iskonto yaptırmak istiyorum hangi kodu eklemeliyim ?
Forumda değişkenler adında aratma yaptırdım bilgiye ulaşamadım  :-[
« Son Düzenleme: 27 Aralık 2010, 09:26:53 Gönderen: serul »

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dershane Kayıt Form / program
« Yanıtla #19 : 27 Aralık 2010, 09:34:50 »
Forumda değişkenler adında aratma yaptırdım bilgiye ulaşamadım  :-[
Haklısınız. Bölümü açmış, ancak henüz içeriğini doldurmamışım.  :(

Bu Formüle OptionButton1 seçili olduğunda %15 iskonto yaptırmak istiyorum hangi kodu eklemeliyim ?

OptionButton yerine CheckBox kullanırsanız işaretleyip, işareti kaldırmak mümkün olacaktır.

Şu şekilde de indirim hesabını yaptırabilirsiniz:

Kod: [Seç]
Private Sub CommandButton1_Click()
If CheckBox1.Value = True Then
    AYLIK.Caption = (CDbl(Label6) / CDbl(ComboBox2)) - ((CDbl(Label6) / CDbl(ComboBox2)) * 15 / 100)
Else
    AYLIK.Caption = CDbl(Label6) / CDbl(ComboBox2)
End If
End Sub
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı serul

  • Boş zaman yoktur , boşa geçen zaman vardır !
  • Excelce Onbaşı
  • **
  • İleti: 66
  • Puan +0/-0
  • Cinsiyet: Bay
  • Ad Soyad: Serkan ULUÇINAR
  • İl / İlçe: Rize
Ynt: Dershane Kayıt Form / program
« Yanıtla #20 : 27 Aralık 2010, 10:36:04 »
Seçilen taksit sayısına göre farklı indirim seçenekleri oluşturabilmek için
Kod: [Seç]
Private Sub CommandButton1_Click()
If ComboBox2.Value = 2 Then
    AYLIK.Caption = (CDbl(Label6) / CDbl(ComboBox2)) - ((CDbl(Label6) / CDbl(ComboBox2)) * 15 / 100)
    Label13.Caption = (CDbl(Label6)) - (CDbl(Label6) * 15 / 100)
Else
    AYLIK.Caption = CDbl(Label6) / CDbl(ComboBox2)
    Label13.Caption = "İNDİRİM YAPILAMAZ "
End If
End Sub
yazdım çalışıyor. Okuldan hatırladığım kadarıyla between denilen aralık tanımlama komutları vardı. Tarihe göre excelimde aylık taksit sayısı çıkıyor ve combobox2 bunu listeliyor. Yazdığım şart sadece 2 taksitte işliyor. Farklı if şartlarını içiçemi kullanmalıyım ?
« Son Düzenleme: 27 Aralık 2010, 10:39:46 Gönderen: serul »

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dershane Kayıt Form / program
« Yanıtla #21 : 27 Aralık 2010, 11:00:48 »
İçiçe IF veya Select Case kullanabilirsiniz.

Örnek:

Alıntı yapılan: Excel Yardımı
Dim Number
Number = 8    ' Initialize variable.
Select Case Number    ' Evaluate Number.
Case 1 To 5    ' Number between 1 and 5, inclusive.
    Debug.Print "Between 1 and 5"
' The following is the only Case clause that evaluates to True.
Case 6, 7, 8    ' Number between 6 and 8.
    Debug.Print "Between 6 and 8"
Case 9 To 10    ' Number is 9 or 10.
Debug.Print "Greater than 8"
Case Else    ' Other values.
    Debug.Print "Not between 1 and 10"
End Select
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı serul

  • Boş zaman yoktur , boşa geçen zaman vardır !
  • Excelce Onbaşı
  • **
  • İleti: 66
  • Puan +0/-0
  • Cinsiyet: Bay
  • Ad Soyad: Serkan ULUÇINAR
  • İl / İlçe: Rize
Ynt: Dershane Kayıt Form / program
« Yanıtla #22 : 27 Aralık 2010, 18:40:50 »
Bülent Bey hazırlamış olduğunuz değişkenler sayfasını inceledim. Elinize sağlık.
Kod: [Seç]
Private Sub UserForm_Initialize()
Label4 = FormatDateTime(Now, vbShortDate)
ComboBox1.Clear
ComboBox1.ColumnCount = 2
ComboBox1.ColumnWidths = "40;0"
ComboBox1.RowSource = "GRUPLAR!A2:B10"
ComboBox2.ColumnCount = 1
ComboBox2.ColumnWidths = "8"
ComboBox2.RowSource = "GRUPLAR!D2:D16"
Dim tarh As Date
Dim TextBox4 As Byte
Dim TextBox3 As Byte
End Sub

tarh benim label kısmım. Bu tarh kısmını Haziran ile karşılaştırıp sonuca göre If döngüsüne ekleyeceğim. Tarihi nasıl karşılaştırabiliriz ?
TextBox3 ve TextBox4 e sadece rakam girilmesini Dim ..........As Byte ile engelleyemiyorum (Çünkü bu kod excelin o labelda yazılanı tanıması için) ?
« Son Düzenleme: 27 Aralık 2010, 19:59:06 Gönderen: serul »

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dershane Kayıt Form / program
« Yanıtla #23 : 28 Aralık 2010, 08:34:53 »
Serkan Bey,
Siz yapmak istediğinizi bana satır satır ifade edin, ben kodlamasına yardımcı olayım.
Sonra dosyanızda uygulamayı deneyin...
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı serul

  • Boş zaman yoktur , boşa geçen zaman vardır !
  • Excelce Onbaşı
  • **
  • İleti: 66
  • Puan +0/-0
  • Cinsiyet: Bay
  • Ad Soyad: Serkan ULUÇINAR
  • İl / İlçe: Rize
Ynt: Dershane Kayıt Form / program
« Yanıtla #24 : 28 Aralık 2010, 09:24:47 »
Forma Veli,Öğrenci,İletişim bilgileri girilecek. Yazı olan yerlere sadece yazı, rakam olacak yerlere sadece rakam yazılabilmeli. Hesaplama butonu istediğim gibi çalışıyor. Kaydet butonu tıklandığında DATA sayfasına aynı satıra veli,öğrenci ad-soyad, veli cep telefonu ve kaç taksit ise taksit ödeme miktarları ve tarihleri aylık sütunlara yerleştirmek istiyorum.

[Forum yazılım güncelleme esnasında sorun oluştuğundan eklendi silinmiştir.]

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dershane Kayıt Form / program
« Yanıtla #25 : 28 Aralık 2010, 13:34:34 »
Formunuza istediğiniz alanları/nesneleri ekleyip, dosyanızın son halini foruma ekler misiniz? Onun üzerinden gidelim.
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı serul

  • Boş zaman yoktur , boşa geçen zaman vardır !
  • Excelce Onbaşı
  • **
  • İleti: 66
  • Puan +0/-0
  • Cinsiyet: Bay
  • Ad Soyad: Serkan ULUÇINAR
  • İl / İlçe: Rize
Ynt: Dershane Kayıt Form / program
« Yanıtla #26 : 28 Aralık 2010, 14:18:07 »
Peki
« Son Düzenleme: 28 Aralık 2010, 15:24:25 Gönderen: serul »

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dershane Kayıt Form / program
« Yanıtla #27 : 28 Aralık 2010, 15:09:34 »
DATA sayfasının 1. satırına şu başlıkları yazın:

Alıntı
VELİ  ADI SOYADI   
ÖĞRENCİ ADI SOYADI   
VELİ CEP TELEFONU   
VELİ EV TELEFONU   
SINIFI   
TUTAR   
TAKSİT ADEDİ   
TAKSİT TUTARI

KAYDET düğmesine şu kodları atayın:

Alıntı
Private Sub KAYDT_Click()
Dim say As Long
say = ThisWorkbook.Worksheets("DATA").Range("A65530").End(xlUp).Row + 1
ThisWorkbook.Worksheets("DATA").Range("A" & say) = TextBox2 ' VELİ ADI
ThisWorkbook.Worksheets("DATA").Range("B" & say) = TextBox1 ' ÖĞRENCİ ADI
ThisWorkbook.Worksheets("DATA").Range("C" & say) = TextBox3 ' VELİ CEP TEL
ThisWorkbook.Worksheets("DATA").Range("D" & say) = TextBox4 ' VELİ EV TEL
ThisWorkbook.Worksheets("DATA").Range("E" & say) = ComboBox1 ' SINIFI
ThisWorkbook.Worksheets("DATA").Range("F" & say) = CDbl(Label6) * 1 ' TUTAR
ThisWorkbook.Worksheets("DATA").Range("G" & say) = CDbl(ComboBox2) * 1 ' TAKSİT ADEDİ
ThisWorkbook.Worksheets("DATA").Range("H" & say) = CDbl(AYLIK.Caption) * 1 ' TAKSİT TUTARI
End Sub


SAYI ve METİN kontrolü için ilgili nesnelere yazılacak kodlar:

Kod: [Seç]
Private Sub TextBox1_Change()
If IsNumeric(VBA.Right(TextBox1, 1)) Then TextBox1 = VBA.Left(TextBox1, Len(TextBox1) - 1)
End Sub

Kod: [Seç]
Private Sub TextBox2_Change()
If IsNumeric(VBA.Right(TextBox2, 1)) Then TextBox2 = VBA.Left(TextBox2, Len(TextBox2) - 1)
End Sub

Kod: [Seç]
Private Sub TextBox3_Change()
If Not IsNumeric(VBA.Right(TextBox3, 1)) Then TextBox3 = VBA.Left(TextBox3, Len(TextBox3) - 1)
End Sub

Kod: [Seç]
Private Sub TextBox4_Change()
If Not IsNumeric(VBA.Right(TextBox4, 1)) Then TextBox4 = VBA.Left(TextBox4, Len(TextBox4) - 1)
End Sub
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı serul

  • Boş zaman yoktur , boşa geçen zaman vardır !
  • Excelce Onbaşı
  • **
  • İleti: 66
  • Puan +0/-0
  • Cinsiyet: Bay
  • Ad Soyad: Serkan ULUÇINAR
  • İl / İlçe: Rize
Ynt: Dershane Kayıt Form / program
« Yanıtla #28 : 28 Aralık 2010, 15:24:04 »
Bülent Bey yazdıklarınızı uyguladım güzel oldu. DATA sayfasına taksitle kayıt tarihinden itibaren 1 ay sonra başlayacak şekilde doldurmak istiyorum. DATA kısmına ayları ekledim
« Son Düzenleme: 28 Aralık 2010, 20:19:18 Gönderen: serul »

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Dershane Kayıt Form / program
« Yanıtla #29 : 28 Aralık 2010, 15:47:02 »
Ay'ları Aralık'tan başlatıp, kodları şu şekilde değiştirin:

Alıntı
Private Sub KAYDT_Click()
Dim say As Long
Dim taksitler As Integer
Dim bugun As Date, sonrakiay As Date

say = ThisWorkbook.Worksheets("DATA").Range("A65530").End(xlUp).Row + 1
ThisWorkbook.Worksheets("DATA").Range("A" & say) = TextBox2 ' VELİ ADI
ThisWorkbook.Worksheets("DATA").Range("B" & say) = TextBox1 ' ÖĞRENCİ ADI
ThisWorkbook.Worksheets("DATA").Range("C" & say) = TextBox3 ' VELİ CEP TEL
ThisWorkbook.Worksheets("DATA").Range("D" & say) = TextBox4 ' VELİ EV TEL
ThisWorkbook.Worksheets("DATA").Range("E" & say) = ComboBox1 ' SINIFI
ThisWorkbook.Worksheets("DATA").Range("F" & say) = CDbl(Label6) * 1 ' TUTAR
ThisWorkbook.Worksheets("DATA").Range("G" & say) = CDbl(ComboBox2) * 1 ' TAKSİT ADEDİ
ThisWorkbook.Worksheets("DATA").Range("H" & say) = CDbl(AYLIK.Caption) * 1 ' TAKSİT TUTARI
'Ocak 2011 - J sütunundan (10.sütun) başlıyor... Ödemeler kayıt tarihinden 1 ay sonra başlayacak...
bugun = VBA.Now
sonrakiay = DateAdd("m", 1, bugun) ' Bugünkü ay'a 1 ekle
hangiay = VBA.Month(sonrakiay)
For taksitler = 0 To CDbl(ComboBox2) - 1
ThisWorkbook.Worksheets("DATA").Cells(say, 10 + hangiay + taksitler) = CDbl(AYLIK.Caption) * 1
Next taksitler
End Sub

Yalnız, bu şekilde bir taksitlendirme çok sağlıklı olmayabilir.
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)