kaydet butonu

Katılım
24 Şubat 2005
Mesajlar
42
Aşağıdaki kayıt işleminin "cbfirmaadi" isimli comboboxta hangi sayfa adı(sheet) yazıyorsa oraya yapması lazım nasıl düzeltebilirim acaba.Yine aşağıda
say = WorksheetFunction.CountA(Range("B1:B65000")) kısmınında buna göre düzeltilmesi lazım.

Private Sub firmakaydet_Click()
Dim bak As Range
Dim say As Integer
For Each bak In Range("A1:A" & WorksheetFunction.CountA(Range("A1:A65000")))
If bak.Value = cbfirmaadi.Value Then
MsgBox "Bu Kayıt numarası bulundu."
Exit Sub
End If
If cbfirmaadi.Value = "" Then
MsgBox "Bir isim girmelisiniz."
Exit Sub
End If
Next bak
say = WorksheetFunction.CountA(Range("B1:B65000"))
txtfsira.Value = say
Cells(say + 1, 1).Value = cbfad.Value
Cells(say + 1, 2).Value = cburun.Value
Cells(say + 1, 3).Value = txttarih.Value
Cells(say + 1, 4).Value = txtmiktar.Value
Cells(say + 1, 5).Value = txtfiyat.Value
Cells(say + 1, 6).Value = txtosekli.Value
Workbooks("MTP12.XLS").Save
MsgBox "Verileriniz Kaydedildi", , "KAYIT"
firmatemizle_Click
End Sub
 
Katılım
2 Mart 2005
Mesajlar
225
Excel Vers. ve Dili
2003
2007
2010
Kod:
Private Sub firmakaydet_Click() 
Dim say As Integer 
If cbfirmaadi.Value = Empty Then 
      bosmesaji = MsgBox("Bir isim girmelisiniz.",vbcritical,"Başlık") 
Else
      say = WorksheetFunction.CountA(Sheets("" & cbfirmaadi.value).[B1:B65000]) + 1 
      txtfsira.Value = say 
      Cells(say, 1) = cbfad.Value 
      Cells(say, 2) = cburun.Value 
      Cells(say, 3) = txttarih.Value 
      Cells(say, 4) = txtmiktar.Value 
      Cells(say, 5) = txtfiyat.Value 
      Cells(say, 6) = txtosekli.Value 
      Workbooks("MTP12.XLS").Save 
      bitismesaji = MsgBox("Verileriniz Kaydedildi", , "KAYIT") 
      firmatemizle_Click 
End If 
End Sub
 
Katılım
24 Şubat 2005
Mesajlar
42
İlgilendiğin için çok teşekkürler arkadaşım ama ben benim verdiğim jodlar üzerinde değişiklik istiyorum.senin kodların eksik 1 örnek vereyim: hep aynı hücrelere kayıt yapıyor altalta satır satır değil.

Aşağıda yazdığım kaydet komutları "veriler" sayfası için.Benim tek istediğim aynı kaydet makrosunu multipage in başka page inde sheet("cekler") sayfası için kullanmak istiyorum.Tek istediğim aşağıdaki kodları "cekler" sayfası için düzenlenmesi.Teşekkürler.


Private Sub kaydet_Click()
Dim bak As Range
Dim say As Integer
For Each bak In Range("A1:A" & WorksheetFunction.CountA(Range("A1:A65000")))
If bak.Value = cbad.Value Then
MsgBox "Bu Kayıt numarası bulundu."
Exit Sub
End If
If cbad.Value = "" Then
MsgBox "Bir isim girmelisiniz."
Exit Sub
End If
Next bak
say = WorksheetFunction.CountA(Range("B1:B65000"))
txtsira.Value = say
Cells(say + 1, 1).Value = txtsira.Value
Cells(say + 1, 2).Value = cbad.Value
Cells(say + 1, 3).Value = txtsoyad.Value
Cells(say + 1, 4).Value = txtadres.Value
Cells(say + 1, 5).Value = txtcep.Value
Cells(say + 1, 6).Value = txtev.Value
Cells(say + 1, 7).Value = cbmal.Value
Cells(say + 1, 8).Value = txttutar.Value
Cells(say + 1, 9).Value = txtmaltarihi.Value
Cells(say + 1, 10).Value = txtfisno.Value
Cells(say + 1, 11).Value = txtodeme1.Value
Cells(say + 1, 12).Value = txttarih1.Value
Cells(say + 1, 13).Value = txtodeme2.Value
Cells(say + 1, 14).Value = txttarih2.Value
Cells(say + 1, 15).Value = txtodeme3.Value
Cells(say + 1, 16).Value = txttarih3.Value
Cells(say + 1, 17).Value = txtodeme4.Value
Cells(say + 1, 18).Value = txttarih4.Value

Workbooks("MTP12.XLS").Save
MsgBox "Verileriniz Kaydedildi", , "KAYIT"
cmdtemizle_Click
cbad.RowSource = "Veri!B2:B" & say + 1
txtsira.Value = WorksheetFunction.Count(Range("A1:A65000")) + 1
End Sub
 
Katılım
24 Şubat 2005
Mesajlar
42
Sanırım dosya eklersem daha iyi olacak.

Dosyada multipage üzerinde cari hesap page inden veriler sayfası üzerine çok güzel kayıt yapıtorum siliyorum ve değiştiriyorum.

page2de ise yani firmalar sekmesinde firmalardan aldığımız malların kayıtlarını tutacağım.Yazdığım bilgilerin firma adı kısmında yani cbfirmaad comboboxundan hangi sayfa ismini seçersem oraya kaydetmesini istiyorum.Ama burada şuna dikkat etmek gerekir: örneğin firme1 e kaydettim.Daha sonra firma2 ye kaydettim.Daha sonra tekrar firma1 veya firma2 ye kaydetmeye çalıştığım zaman en son kayıdın altsatırından devam etmesi lazım tıpkı page1 de olduğu gibi.
page3de ise yani cekler sayfasında ise aynen page1 de olduğu gibi tek fark page1 veriler sayfası üzerinde işlem yapıyor, page3 ise cekler isimli sheette yapsın.Yardımcı olacaklara şimdiden teşekkürü borç bilirim.
 

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ızdaki kodlara bazı ilaveler yaptım inceleyin.
 
Katılım
24 Şubat 2005
Mesajlar
42
Sn. leventm öncelikle ilgendiğiniz için çok teşekkürler.
Ancak cekler bölümü(page3), cekler sayfası yerine, veriler sayfası üzerinde işlem yapıyor ceklerdeki müşteri adı comboboxı ceklerdeki müşteri adlarını değil verilerdeki müşteri adını alıyor.Oysa cekler sayfasındaki müşteri adlarını alması lazım. Ve ayrıca cekler deki bul değiştir butonları çalışmıyor.Ve son ricam firmalar ve ceklerdeki listboxlarda o sayfalar gözükebilir mi?
Müsait olduğunuzda ilgilenebilirseniz çok minnettar kalırım.İyi çalışmalar
 
Katılım
2 Mart 2005
Mesajlar
225
Excel Vers. ve Dili
2003
2007
2010
Ancak cekler bölümü(page3), cekler sayfası yerine, veriler sayfası üzerinde işlem yapıyor
bende doğru çalışıyor
ceklerdeki müşteri adı comboboxı ceklerdeki müşteri adlarını değil verilerdeki müşteri adını alıyor.Oysa cekler sayfasındaki müşteri adlarını alması lazım.
Kod:
'USERFORM YÜKLENİYORRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR
Private Sub UserForm_Initialize()
Dim say As Integer
    Sheets("Veri").Select
    txtsira.Locked = True
    If Range("B2") = "" Then
        say = WorksheetFunction.CountA(Range("B1:B65000"))
        cbad.RowSource = "Veri!B2:B" & say + 1
    Else
        say = WorksheetFunction.CountA(Range("B1:B65000"))
        cbad.RowSource = "Veri!B2:B" & say
    End If
    txtsira.Value = say
    cbcekmusteriad.RowSource = "cekler!B2:B" & say 'burayı değiştir
    'cbad.SetFocus
End Sub
ayrıca cekler deki bul değiştir butonları çalışmıyor
sanırım bu daha pratik olabilir

Kod:
Private Sub cbcekmusteriad_Change()
Dim satir As Integer
satir = cbcekmusteriad.ListIndex + 2
txtceksirano.Value = Cells(satir, 1).Value
'cbcekmusteriad.Value = Cells(satir, 3).Value
txtceksoyad.Value = Cells(satir, 3).Value
txtcekcep.Value = Cells(satir, 5).Value
txtcekno.Value = Cells(satir, 6).Value
txtcekmiktar.Value = Cells(satir, 7).Value
cbaciklama.Value = Cells(satir, 4).Value
End Sub
 
Katılım
24 Şubat 2005
Mesajlar
42
Malesef yine aynı.cekler hala veri sayfasındaki müşteri isimlerini alıyor.Eğer dosya üzerinde değişiklik yapıp gönderirsen sevinirim.Bir de listbox olayını yapabilmen mümkün mü acaba?
 
Katılım
2 Mart 2005
Mesajlar
225
Excel Vers. ve Dili
2003
2007
2010
Ekli dosyaya bak bakalım seni doğru mu anlıyorum.
 
Katılım
24 Şubat 2005
Mesajlar
42
Sizi uğraştırıyorum ama malesef yine olmadı.Userform intialize olayında veri sayfasını seç diye bir komut var o yüzden form açılışında veri sayfasını seçiyor ve ben cekler page ini tıklasamda cekler bölümü direk veri sayfasını görüyor.Oysa veri sayfası ile cekler sayfası tamamen birbirinden bağımsız olması gerekir. O yüzden şöyle birşey yapabilirmiyiz page1 sekmesini tıklayınca veri sayfasını seçsin, page3 sekmesini tıklayınca cekler sayfasını seçsin.Firma bölümünde sorun yok.
 
Üst