• DİKKAT

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

Listbox da toplama sorunu

vuranoğlu

Altın Üye
Katılım
18 Nisan 2008
Mesajlar
260
Excel Vers. ve Dili
excel 2016 tr
Merhaba

Textboxlara alınan toplamlarda sütün toplamları hatalı geliyor .Hata nereden kaynaklanıyor?
Çözüm?
Teşekkürler.
 

Ekli dosyalar

  • DENE.rar
    DENE.rar
    752.2 KB · Görüntüleme: 24
Birinci aşamada : Veri sayfasında "metin olarak saklanan sayılar " ı hata iletişim kutusu yardımı ile sayıya dönüştürün.

Bunu yaptığınızda listbox altındaki texboxlar doğru sonuç veriyor.

İkinci aşamada veri sayfasına userform üzerindeki textboxlardan bilgi atılırken ( default olarak string/metin) kaydın numerik " cdbl" ya da tarih " cdate" atılması için textboxların tamamının verisine uygun şekilde formatlanmasını sağlayın.

Listbox ne görüyorsa onu gösterir, zaten toplamlar sayfadan gelmekte olur. Bu durumda bilgi veri sayfasına string dışında gelirse , sorununuz hallolur.
 
Son düzenleme:
Yardımcı olan arkadaşlara teşekkürleri
Almış olduğum bilgiler doğrultusunda düzenlenen dosya linki http://dosya.co/j3023d7c98g3/DENE_1.rar.html

Alınan toplamları listbox içinde görebilir miyiz?
Diğer istekler ve çalışma konusu bilgileri link dedir.
 

Dosya.co virüs dağıtmakta , .co ile adresi biten sitelere yükleme yapmamanız ancak dış servera yükleyecekseniz www.dosya.tc kullanmanız daha iyi olabilir , zira .co nun sorununun farkında olan dosyanızı indirmeyecektir.

Diğer yandan ; sorunuza cevaben , bildiğim kadarı ile listbox sadece sayfadan aldığı datayı düzgün görsel olarak ve istenen sütunları yansıtan pasif bir araç . Buna toplam göster demek yerine toplamın olması gereken yere label ya da textbox yerleştirip kod ile sayfadaki toplamı bunlarda göster demek daha kolay olur.
 
Merhaba
Ek dosyayı deneyelim
"İşlem giriş" kayıt formatı için yapılan ekleme ile
"Rapor" listesinde toplamlar; "I:O" sütununda formatları sayı olduğunda doğru çıkacaktır.
http://s6.dosya.tc/server11/zm7794/DENE_2.zip.html

"Kopyalama işlemi B-E-I-J-K-L-M-N-O Sütunları şeklinde olabilir mi?"
Ek dosyada bu sütunlar kopyalanacak.

"Rapor sayfası yazdır sayfasındaki şekliyle döküm alabilirmiyiz?"
Bu isteğinizi tam anlayamadım
 
İlginiz için teşekkürler. PLİNT
Süzme yaptığımızda rapor sayfasına alınan veriler yazdır sayfasındaki formatta olabilir mi? Toplamlar süzme sonucu textboxlara alınabilir mi?
 

Ekli dosyalar

Merhaba
Eklediğiniz son dosyayı görme imkanım yok ama
"B-E-I-J-K-L-M-N-O" Sütunları "Rapor" sayfasına kopyalanıp
formatı "Yazdır" sayfasındaki gibi olacak ise ek dosyayı deneyin.
http://s5.dosya.tc/server5/dqrkud/DENE_2.zip.html
"Rapor" sayfasında oluşan tabloyu büyütmek için "Combobox1_Click" altında bulunan
değeri (toplam satırı) artırabilirsiniz.
x = son1 + 2
 
Son düzenleme:
PLİNT emeğine sağlık.
Tarih kontrolü yapmağa çalıştım ama hata verdi.
"İlk tarih son tarihten büyük olamaz"

Rapor sayfasındaki saat süzden sonra çalışmıyor?
 
Son düzenleme:
PLİNT emeğine sağlık.
Tarih kontrolü yapmağa çalıştım ama hata verdi.
"İlk tarih son tarihten büyük olamaz"
Merhaba

http://s5.dosya.tc/server5/ftbxvm/DENE_3.zip.html

"ComboBox1_Click" altında ilgili bölüme ek yapalım;
Kod:
[SIZE="2"]Private Sub ComboBox1_Click()
   '....
'...........Kodlarınız
If TextBox3.Value = "" Then MsgBox "  SON TARİHİ GİRİNİZ !  ", vbInformation, "VURANOĞLU": Exit Sub
tar2 = Format(TextBox3, "dd.mm.yyyy")
[COLOR="Red"]If CDbl(CDate(tar1)) > CDbl(CDate(tar2)) Then MsgBox "İlk tarih son tarihten büyük olamaz": Exit Sub[/COLOR]
RAPOR.Clear
RAPOR.AddItem Cells(1, 1)
'..
'...diğer kodlar
End sub[/SIZE]

Rapor sayfasındaki saat süzden sonra çalışmıyor?
Örnek dosyanızda kullandığınız döngülü saat kodu yerine aşağıdakileri kullanın
"Module1" kod sayfasına
Kod:
[SIZE="2"]   Public Declare Function SetTimer Lib "user32" ( _
                            ByVal hnd As Long, _
                            ByVal nIDEvent As Long, _
                            ByVal uElapse As Long, _
                            ByVal lpTimerFunc As Long) As Long
    Public Declare Function KillTimer Lib "user32" ( _
                ByVal hnd As Long, ByVal nIDEvent As Long) As Long
    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
                            ByVal lpClassName As String, _
                            ByVal lpWindowName As String) As Long
    Public hnd As Long

    Public Sub Timer(ByVal hnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
   RAPOR.Label10.Caption = Format(Now, "hh:mm:ss")
    End Sub [/SIZE]

"Userform" (RAPOR)
Kod:
[SIZE="2"]
Private Sub UserForm_Activate()
 hnd = FindWindow(vbNullString, Me.Caption)
 SetTimer hnd, 0, 1000, AddressOf Timer
End Sub


Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
KillTimer hnd, 0
End Sub
 [/SIZE]
 
Teşekkürler PLİNT
Ekteki hataları alıyorum.
 

Ekli dosyalar

  • hata.JPG
    hata.JPG
    123.5 KB · Görüntüleme: 10
  • hata1.JPG
    hata1.JPG
    133.7 KB · Görüntüleme: 9
Merhaba
Eklediğim dosyada bir sıkıntı çıkmadı.
Altın üyeliğim olmadığından resimlere bakma imkanım yok
https://hizliresim.com/ adresine yükleyip link verirmisiniz?
 
Formda iki adet "activate" başlığı bulunuyor
"Private Sub İŞLEMGİRİŞEKRANI_Activate()" ve "Private Sub UserForm_Activate()" gibi
Çalışacak olan "Private Sub UserForm_Activate()" dır.
Resimde hata vere "userform" u düzenledim bakarsınız

http://s5.dosya.tc/server5/swj7md/DENE_4.zip.html
diğerlerinide siz ayarlarsınız.
Saat işlevini hangi userformlarda kullanacaksanız" UserForm_Activate"
altını düzenlemelisiniz ve modülde ilgili "Label" adı bulunmalı

"İŞLEMGİRİŞEKRANI" userformu için:
Kod:
[SIZE="2"]Private Sub UserForm_Activate()
hnd = FindWindow(vbNullString, Me.Caption)
 SetTimer hnd, 0, 1000, AddressOf Timer
Label41.Caption = Format(Date, "dd.mm.yyyy")
İŞLEMGİRİŞEKRANI_Initialize
'İŞLEMGİRİŞEKRANI_Activate
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
KillTimer hnd, 0
End Sub [/SIZE]
Kod:
[SIZE="2"]   Public Declare Function SetTimer Lib "user32" ( _
                            ByVal hnd As Long, _
                            ByVal nIDEvent As Long, _
                            ByVal uElapse As Long, _
                            ByVal lpTimerFunc As Long) As Long
    Public Declare Function KillTimer Lib "user32" ( _
                ByVal hnd As Long, ByVal nIDEvent As Long) As Long
    Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" ( _
                            ByVal lpClassName As String, _
                            ByVal lpWindowName As String) As Long
    Public hnd As Long

    Public Sub Timer(ByVal hnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
[COLOR="Red"]İŞLEMGİRİŞEKRANI.Label40.Caption = Format(Now, "hh:mm:ss")[/COLOR]
   RAPOR.Label10.Caption = Format(Now, "hh:mm:ss")
    End Sub  [/SIZE]
Kod:
Private Sub İŞLEMGİRİŞEKRANI_Initialize()
  Label40 = Format(Time, "hh:mm:ss")
'......diğer kodlar

İkinci resimdeki hata dikkat ettiyseniz sütunlardaki hücrelerde formatları sayı olanlarda hata yok veriler eklenirken sayı olarak eklendiğinde düzelecektir
bunula ilgili daha önce "İŞLEMGİRİŞEKRANI"/ " CommandButton5" kodlarında düzenleme yapmıştık bu kodlarla girdiğiniz verilerde o hatayı vermeyecektir
onlar önceki kodlarla eklenenlerdir.
 
Iyi akşamlar

Verileri işlemgirişekranından silerken hata alınıyor.
Merhaba

Dosyanızda; birkaç yerde daha bu hatayı verdirecek kodlar var. "Textbox change" kodları altında "Textbox" ların boş kalma
veya yanlışlıkla metin girilme durumlarında hata vermesini engelleyecek eklemeler yapmalısınız.
Mesela resimdeki hata için;
Kod:
[COLOR="Blue"]If IsNumeric(TextBox7.Text) = True Then[/COLOR] Sheets("veri").Range("j2").Value = CDbl(TextBox7.Text)
 
Yardımlarınız için teşekkürler

İŞLEMGİRİŞEKRANI işlem sayfasını açtığınızda hata mesajı çıkıyor ve ardından otomatik kapanıyor.
Merhaba
"Hesap_ekleme" formunda "Label1" yok, "caption" unda "Label1" yazan "Label6" var
onun için modülde:
Kod:
[SIZE="2"]   Public Sub Timer(ByVal hnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long)
   RAPOR.Label10.Caption = Format(Now, "hh:mm:ss")
   İŞLEMGİRİŞEKRANI.Label40.Caption = Format(Now, "hh:mm:ss")
    HESAP_EKLEME.[COLOR="Red"]Label6.Caption[/COLOR] = Format(Now, "hh:mm:ss")
    End Sub [/SIZE]
"HESAP_EKLEME" Formu:
Kod:
[SIZE="2"]Private Sub UserForm_Activate()
hnd = FindWindow(vbNullString, Me.Caption)
 SetTimer hnd, 0, 1000, AddressOf Timer
Label6.Caption = Format(Date, "dd.mm.yyyy")
HESAP_EKLEME_Initialize
'İŞLEMGİRİŞEKRANI_Activate
End Sub[/SIZE]
Kod:
[SIZE="2"]Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
KillTimer hnd, 0
End Sub [/SIZE]

Şu başlığı ve içeriğini silin
Kod:
[SIZE="2"]'Private Sub HESAP_EKLEME_Activate()
'...
'...
'End Sub [/SIZE]
 
Verdiğiniz bilgiler için teşekkürler. PLİNT
Hesap ekleme (listboxda) hesap adına göre sıralama yapabilir miyiz?Nette birkaç kod uygulamaya çalıştım sonuç vermedi.
 
PLİNT Vewrdiğiniz bilgiler için teşekkürler.


Hesap ekleme sayfasında hesap adına göre veri girildiğinde otomatik sıralama kodu uygulamsı sonuç vermedi.
 
Geri
Üst