hücre tanımlamalarını sayfaya göre ayarlama

Katılım
24 Şubat 2005
Mesajlar
42
Aşağıdaki 2 ayrı makro parçalarını "veriler" isimli sayfa için nasıl düzenleriz.
------------------------------------------------
Private Sub cmdkaydet_Click()
Dim bak As Range
Dim say As Integer
For Each bak In Range("A1:A" & WorksheetFunction.CountA(Range("A1:A65000")))
----------------------------------------------------
txtceksirano.Value = WorksheetFunction.Count(Range("A1:A65000")) + 1
 

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
Kodu aşağıdaki gibi düzenleyin.

[vb:1:a84ef9e4e2]Private Sub cmdkaydet_Click()
Dim bak As Range
Dim say As Integer
For Each bak In Range("A1:A" & WorksheetFunction.CountA(sheets("veriler").Range("A1:A65000")))
----------------------------------------------------
txtceksirano.Value = WorksheetFunction.Count(sheets("veriler").Range("A1:A65000")) + 1[/vb:1:a84ef9e4e2]
 
Katılım
24 Şubat 2005
Mesajlar
42
Sn. Leventm denedim ama olmadı.Ben kaydet macrosunun tamamını yazsam daha iyi olacak.

Private Sub cekkaydet_Click()
Dim bak As Range
Dim say As Integer
For Each bak In Range("A1:A" & WorksheetFunction.CountA(Sheets("cekler").Range("A1:A65000")))
If bak.Value = cbcekmusteriad.Value Then
MsgBox "Bu Kayıt numarası bulundu."
Exit Sub
End If
If cbcekmusteriad.Value = "" Then
MsgBox "Bir isim girmelisiniz."
Exit Sub
End If
Next bak
say = WorksheetFunction.CountA(Sheets("cekler").Range("B1:B65000"))
txtsirano.Value = say
Cells(say + 1, 1).Value = txtceksirano.Value
Cells(say + 1, 2).Value = cbcekmusteriad.Value
Cells(say + 1, 3).Value = txtceksoyad.Value
Cells(say + 1, 5).Value = txtcekcep.Value
Cells(say + 1, 6).Value = txtcekno.Value
Cells(say + 1, 7).Value = txtcekmiktar.Value

Workbooks("MTP12.XLS").Save
MsgBox "Verileriniz Kaydedildi", , "KAYIT"
cektemizle_Click
cbcekmusteriad.RowSource = "cekler!B2:B" & say + 1
txtceksirano.Value = WorksheetFunction.Count(Sheets("cekler").Range("A1:A65000")) + 1
End Sub
 

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
Sorunuzdan sadece "cekler" yazan yere "veriler" yazmanız yeterli gibi görünüyor. Fakat "txtcexsirano","txtceksoyad" gibi tanımlar sanırım textbox isimleri, bunların içine yazılan kodlardada değişikli yapmak gerekebilir. Bence dosyanızı sadeleştirerek gönderirseniz daha iyi olacak gibi görünüyor,tabii bu makro ile ne amaçladığınızıda belirterek.
 
Katılım
24 Şubat 2005
Mesajlar
42
Sn. leventm o eklemeleri (sayfa isimleri) ben yapmaya çalıştım ama malesef çalışmadı.

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.
 
Üst