• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

sonsatır hatası

Katılım
21 Ocak 2013
Mesajlar
425
Excel Vers. ve Dili
2010
kaydet dediğim zaman burada hata alıyorum


Dim wsGELENEVRAK, wsGİDENEVRAK, wsPERSONELÖNTANIM, wsDESİMALDOSYA, wsKONUGELEN, wsKONUGİDEN, wsGİDENKURUM, wsGELENKURUM As Worksheet
Dim sonsatır, sonsatır2, sil, deneme As Long

Worksheets("GELENKURUM").Cells(sonsatır2, 1) = Cbgeldiğikurum.Value burada hata alıyorum eksiğim nedir?
 
Merhaba,

Belirttiğiniz iki değeri de kontrol ediniz. Hangi değerler var.
Vba penceresinde Ctrl+G ile açılan Immediate penceresinde
? Worksheets("GELENKURUM").Cells(sonsatır2, 1)

ve enter deyin değeri görün

? Cbgeldiğikurum.Value ve entera basın değeri görün
birinden birinde gariplik vardır.
 
Worksheets("GELENKURUM").Cells(sonsatır2, 1) dediğimde expected:=
? Cbgeldiğikurum.Value dediğimde object required
 
Yine boş değerler, vba ne yapsın?
 
aynen zaten boş olduğu için yapıyor doluyken zaten bir sorun yok ben hiç hata vermesin istiyorum o yuzden takıldım bu konuda
 
birsey sorabılırım userfrorm1 de textbax ve combobaxlarda enter ile ileryebiliyorum userformda ise enter ile ilerleme yapmıyor neden olabilir
 
birsey sorabılırım userfrorm1 de textbax ve combobaxlarda enter ile ileryebiliyorum userformda ise enter ile ilerleme yapmıyor neden olabilir

Sorunuz açık değil. Zaten userformun üzerindeki nesnelerde ilerleme yapabilirsiniz. Userform kendisi üzerinde nasıl bir ilerleme yapmak istiyorsunuz.
 
If sonsatır = 2 Then burda hatalımı oluyor asağıdakı kodlarıma göre veya eklemem gereken birsey var mı

Kod:
sonsatır = WorksheetFunction.CountA(Worksheets("GİDENEVRAK").Range("A:A")) + 1
sonsatır2 = WorksheetFunction.CountA(Worksheets("GİDENKURUM").Range("A:A")) + 1
sonsatır3 = WorksheetFunction.CountA(Worksheets("KONUGİDEN").Range("A:A")) + 1
If sonsatır = 2 Then
Worksheets("GİDENEVRAK").Cells(sonsatır, 1) = 1
Else
Worksheets("GİDENEVRAK").Cells(sonsatır, 1) = Worksheets("GİDENEVRAK").Cells(sonsatır - 1, 1) + 1
End If
Worksheets("GİDENEVRAK").Cells(sonsatır, 2) = Cbgönderilenkurum.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 3) = Tbtarih.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 4) = tbek.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 5) = Cbdesimaldosya.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 6) = Cbkonu.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 7) = Cbhavaleedenmemur.Value
Worksheets("GİDENKURUM").Cells(sonsatır2, 1) = Cbgönderilenkurum.Value
Worksheets("KONUGİDEN").Cells(sonsatır3, 1) = Cbkonu.Value
 
Merhaba.
Yukarıda yazdığınız dolu hücreleri sayar, eğer arada başka boş hücre varsa hatalı sonuç döndürür.
Son dolu satırdan sonraki ilk boş satırı bulmak için aşağıdaki satırı kullanabilirsiniz.

Kod:
Worksheets("GİDENEVRAK").cells(rows.count,"A").end(xlup).row + 1
 
buna göre tüm kodu değiştirecem yoksa sadece
sonsatır = WorksheetFunction.CountA(Worksheets("GİDENEVRAK").Range("A:A")) + 1
sonsatır2 = WorksheetFunction.CountA(Worksheets("GİDENKURUM").Range("A:A")) + 1
sonsatır3 = WorksheetFunction.CountA(Worksheets("KONUGİDEN").Range("A:A")) + 1
If sonsatır = 2 Then
Worksheets("GİDENEVRAK").Cells(sonsatır, 1) = 1
kısmını nasıl yapabilirim
 
Worksheets("GİDENEVRAK").cells(rows.count,"A").end(xlup).row + 1
bu kodu kendi koduma göre nasıl uyarlacağım
 
Merhaba,

Kod:
sonsatır = Worksheets("GİDENEVRAK").cells(rows.count,"A").end(xlup).row + 1
 
sonsatır = Worksheets("GİDENEVRAK").Cells(Rows.Count, "A").End(xlUp).Row + 1
sonsatır2 = Worksheets("GİDENKURUM").Cells(Rows.Count, "A").End(xlUp).Row + 1
sonsatır3 = Worksheets("KONUGİDEN").Cells(Rows.Count, "A").End(xlUp).Row + 1

If sonsatır = 2 Then

dogrumudur?
 
yani sonssatır sonsatır2 sonsatır3 yapmak mı gerekir ve ıf sonsatır =2 then mi olmalı kodlara hakim olmadığım için soruyorum
 
Kod:
sonsatır = Worksheets("GİDENEVRAK").Cells(Rows.Count, "A").End(xlUp).Row + 1
sonsatır2 = Worksheets("GİDENKURUM").Cells(Rows.Count, "A").End(xlUp).Row + 1
sonsatır2 = Worksheets("KONUGİDEN").Cells(Rows.Count, "A").End(xlUp).Row + 1
Worksheets("GİDENEVRAK").Cells(sonsatır, 2) = Cbgönderilenkurum.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 3) = Tbtarih.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 4) = tbek.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 5) = Cbdesimaldosya.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 6) = Cbkonu.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 7) = Cbhavaleedenmemur.Value
Worksheets("GİDENKURUM").Cells(sonsatır2, 1) = Cbgönderilenkurum.Value
Worksheets("KONUGİDEN").Cells(sonsatır2, 1) = Cbkonu.Value
MsgBox "VERİ KAYDEDİLDİ.", vbInformation, "BİLDİRİ"
Cbgönderilenkurum.Value = ""
Tbtarih.Value = ""
tbek.Value = ""
Cbdesimaldosya.Value = ""
Cbkonu.Value = ""
Cbhavaleedenmemur.Value = ""
listele
giden_kurum_listesi
giden_konu_listesi
End Sub
Kod:
 
Aşağıdaki gibi olmalı.

Kod:
sonsatır =Worksheets("GİDENEVRAK").cells(rows.count,"A").end(xlup).row + 1
sonsatır2 = Worksheets("GİDENKURUM").cells(rows.count,"A").end(xlup).row + 1
sonsatır3 = Worksheets("KONUGİDEN").cells(rows.count,"A").end(xlup).row + 1

If sonsatır = 2 Then
Worksheets("GİDENEVRAK").Cells(sonsatır, 1) = 1
Else
Worksheets("GİDENEVRAK").Cells(sonsatır, 1) = Worksheets("GİDENEVRAK").Cells(sonsatır - 1, 1) + 1
End If
Worksheets("GİDENEVRAK").Cells(sonsatır, 2) = Cbgönderilenkurum.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 3) = Tbtarih.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 4) = tbek.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 5) = Cbdesimaldosya.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 6) = Cbkonu.Value
Worksheets("GİDENEVRAK").Cells(sonsatır, 7) = Cbhavaleedenmemur.Value
Worksheets("GİDENKURUM").Cells(sonsatır2, 1) = Cbgönderilenkurum.Value
Worksheets("KONUGİDEN").Cells(sonsatır3, 1) = Cbkonu.Value
 
Rica ederim. Kolay gelsin.
 
Geri
Üst