• DİKKAT

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

Listbox da toplama sorunu

PLİNT Teşekkürler
Kuruşlu kayıtlar normale döndü ama değiştirme (düzeltme)işlemi yapıldığında sayısal değerler metine dönüşüyor."Textbox 10 "sayfada görünmüyor ama sanki varmış gibi görünüyor.
http://s6.dosya.tc/server11/sb678e/DENE_11.rar.html
Toplam Userform üzerinde normal olmasına rağmen kaydederken hatalı kaydediyor.
 
Merhaba
Daha önce "Kayıt" butonunda yaptığımız düzeltmeyi "Değiştir" içinde aşağıdaki (kırmızı aralık) uygulamalısınız
Kod:
[SIZE="2"]Private Sub CommandButton8_Click()
sor = MsgBox("Değiştirmek istediğinizden eminmisiniz?", vbYesNo)
If sor = vbNo Then Exit Sub

Degistirilecek_Satir = İŞLEMGİRİŞEKRANI.ListIndex + 2
Sheets("VERİ").Range("A" & Degistirilecek_Satir).Value = TextBox1.Text 'SIRA
Sheets("VERİ").Range("B" & Degistirilecek_Satir).Value = TextBox2.Text 'TARİH
Sheets("VERİ").Range("D" & Degistirilecek_Satir).Value = TextBox3.Text 'ADISOYADI
Sheets("VERİ").Range("F" & Degistirilecek_Satir).Value = TextBox4.Text 'MERKEZNO
Sheets("VERİ").Range("H" & Degistirilecek_Satir).Value = TextBox5.Text 'HESAP NO

 [COLOR="Red"]   If IsNumeric(TextBox6) = True Then Sheets("VERİ").Range("I" & Degistirilecek_Satir).Value = CDbl(TextBox6)
    If IsNumeric(TextBox7) = True Then Sheets("VERİ").Range("L" & Degistirilecek_Satir).Value = CDbl(TextBox7)
    If IsNumeric(TextBox8) = True Then Sheets("VERİ").Range("J" & Degistirilecek_Satir).Value = CDbl(TextBox8)
    If IsNumeric(TextBox9) = True Then Sheets("VERİ").Range("M" & Degistirilecek_Satir).Value = CDbl(TextBox9)
    If IsNumeric(TextBox11) = True Then Sheets("VERİ").Range("N" & Degistirilecek_Satir).Value = CDbl(TextBox11)
    If IsNumeric(TextBox12) = True Then Sheets("VERİ").Range("K" & Degistirilecek_Satir).Value = CDbl(TextBox12)
    If IsNumeric(TextBox13) = True Then Sheets("VERİ").Range("O" & Degistirilecek_Satir).Value = CDbl(TextBox13)[/COLOR]

Sheets("VERİ").Range("C" & Degistirilecek_Satir).Value = ComboBox1.Text 'SİCİL
Sheets("VERİ").Range("E" & Degistirilecek_Satir).Value = ComboBox2.Text 'MERKEZ ADI
Sheets("VERİ").Range("G" & Degistirilecek_Satir).Value = ComboBox3.Text 'HESAP ADI
'.....
'.... DİĞER KODLAR
'......

 [/SIZE]

"İŞLEMGİRİŞİ" formu/ properties/textbox10.top = -30 görünüyor
textbox10.top = 10 yaptığınızda formda görünür, kaydet kodları içerisinde adı geçmiyor nasıl hata verdiğini göremedim.

Ayrıca
6. , 7. , 8. , 9. Textbox_Change() altında bulunan kodlarda aşağıdaki gibi değişiklik yapalım textbox boşatılıp sıfır değeri geldiğinde seçili olsun
"Textbox6" için:

Kod:
 [SIZE="2"]Private Sub TextBox6_Change()
[COLOR="Red"]
[COLOR="Blue"]'......[/COLOR]
With [COLOR="Blue"]TextBox6[/COLOR]
If IsNumeric(.Text) = False Then
.Text = 0
.SelStart = 0
.SelLength = Len([COLOR="Blue"]TextBox6[/COLOR])
End If
End With
[COLOR="Blue"]'......[/COLOR]
[/COLOR]
TextBox12 = Format(CDbl(TextBox6) + CDbl(TextBox8), "#,##0.00")
TextBox13 = Format(CDbl(TextBox6) + CDbl(TextBox8) + CDbl(TextBox7) + CDbl(TextBox9), "#,##0.00")
End Sub [/SIZE]
 
Merhaba
Emeğinize teşekkürler PLİNT
Personel ekleme ekranında giriş kontrol yaptım ama sicil girişi yapıldıktan sonra sicil mevcut hatasından sonra hataya düşüyor.
Rapor sayfasında "ColumnHeads = False" olmasına rağmen rapor sayfasında üst bilgiler tekrar geliyor."False" pasif yapmıyor muydu?
http://www.dosya.tc/server10/mudeqe/DENE_15.rar.html
 
Merhaba
_"PERSONELEKLME" Formunda "Textbox2" silinmiş ama kodlarda adı geçiyor, yerine eklediğiniz "Combobox1" olmalıydı.
_"RAPOR" Formunda ki liste: "ColumnHeads" (kodlarda) hiç "true" yapılmıyor, sanırım sizin bahsettiğiniz listeye 1. satırın alınması; ek dosyayı deneyin (Tüm "Userform" 'lara ait kod sayfalarında değişiklik yapıldı )
http://www.dosya.tc/server10/r9fybk/DENE_16.zip.html
 
Merhaba
"RAPOR" formu "Commadbutton2" altına eklediğiniz listeden sayfaya aktarma
kodlarının gereğini anlamadım ama butonlardaki kodları aşağıdaki gibi değişerek,
önizleme ve yazdırma yapabilirsiniz.
Kod:
[SIZE="2"]Private Sub CommandButton11_Click()
Set FRM = New RAPOR
Unload Me
Set s1 = Sheets("RAPOR")
s1.PageSetup.PrintArea = "$B$1:$J$" & s1.Cells(Rows.Count, "C").End(xlUp).Row
s1.PrintPreview
s1.DisplayAutomaticPageBreaks = False
FRM.Show
End Sub [/SIZE]
Kod:
[SIZE="2"]Private Sub CommandButton2_Click()
Set s1 = Sheets("RAPOR")
rw = s1.Cells(Rows.Count, "C").End(xlUp).Row
If rw <= 7 Then MsgBox "RAPOR SAYFASINDA" & vbCrLf & "YAZDIRILACAK VERİ BULUNAMADI": Exit Sub
s1.PageSetup.PrintArea = ""
s1.Range("B1:J" & rw).PrintOut
End Sub [/SIZE]
 
İyi akşamlar.
PLİNT
Desteğin için teşekkür ederim.

İşlem giriş ekranında veriler çift tıklama ile getirildiğinde kaydet butonuna tekrar basıldığında aynı veri tekrar kaydediliyor.
 
İyi akşamlar.
PLİNT
Desteğin için teşekkür ederim.

İşlem giriş ekranında veriler çift tıklama ile getirildiğinde kaydet butonuna tekrar basıldığında aynı veri tekrar kaydediliyor.

Merhaba
"Kayıt" butonuna aşağıdaki gibi ek yapın.
Kod:
[SIZE="2"]Private Sub CommandButton5_Click()
Dim Sat, Son As Integer
[COLOR="Red"]x = Sheets("VERİ").Range("a65536").End(xlUp).Row
If WorksheetFunction.CountIf(Sheets("VERİ").Range("A2:A" & x), TextBox1.Text) > 0 Then _
MsgBox "AYNI KAYIT MEVCUT": Exit Sub[/COLOR]

If TextBox3.Value <> "" Then
'...
'...diğer kodlar
'...
 [/SIZE]
 
Son düzenleme:
İyi akşamlar.
http://s5.dosya.tc/server5/xwfg9c/DENE_19.rar.html
http://s5.dosya.tc/server5/7cwha8/UYGULA.rar.html " DENE 19 VE MİZAN "

Rapor süzme işlemi yapılırken çalışmayan hesaplarda geliyor.Bunu engellemek için
değişiklik yaptım.Bu defada birden fazla işlem yapan hesaplarda geliyor.Mizan sayfası eklendi.Mizan sayfasında yapılan işlemler e topla ile getiriliyor.Ancak mizan sayfasından verileri getiremedim.
Mizan sayfasında sonucu "0" olan satırları kaldırıyorum .Mizan içindeki listboxda değişiklik gözükmüyor.gecikmeli mi veriyi almak gerekecek?
s5.dosya.tc adresten dosya indiriken virus tarayıcısı izin vermiyor.Sizde de aynı mı?
 
Son düzenleme:
Merhaba
Ek dosyayı inceleyin
Eklediğiniz "mizan" formundaki buton "mizan" sayfasını temizleyip "MİZAN.xlsm" dosyasından
verileri önce sayfaya sonra sıfırdan büyük değerli olanları listeye alacak ancak verileri çift tıklama ile textboxlara; silmek veya değişmek için alıyorsanız kodlara ek yapmak gerekir
"rapor" formu kod sayfasındaki tüm makrolarda değişiklik var.
https://drive.google.com/open?id=1mIvDwF_YCcdPFf0TzrLVfTJDIriIDgmq
 
İyi geceler.


Private Sub CommandButton1_Click()
Set s1 = Sheets("MİZAN")
s1.Activate
s1.Range("A2:E" & Rows.Count).ClearContents
Set c = CreateObject("scripting.filesystemobject")
If c.FileExists(ThisWorkbook.Path & "\MİZAN.xlsm") = False Then
MsgBox "MİZAN.xlsm Dosyası bulunamadı" & vbCrLf & "Verilerin alınacağı MİZAN.xlsm dosyası bu dosyanın yanında olmalı"
Exit Sub
End If
Set con = CreateObject("Adodb.Connection")
Set dt = CreateObject("adodb.recordset")
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
ThisWorkbook.Path & "\MİZAN.xlsm" & ";Extended Properties = ""Excel 12.0 Macro;HDR=no"";"
sut = "Select [F1],[F2],[F3],[F4],[F6] From [RAPOR$A2:F65000]"
dt.Open sut, con, 1, 1

s1.Range("A2").CopyFromRecordset dt
dt.Close
Set dt = Nothing
Set con = Nothing
ListBox1.RowSource = ""
ListBox1.Clear
n = 0
rw = s1.Cells(Rows.Count, "A").End(3).Row
With ListBox1
For a = 1 To rw
If s1.Cells(a, "E") <> "" And s1.Cells(a, "E") > 0 Then
.AddItem s1.Cells(a, 1)
For t = 1 To 7
.list(n, t) = s1.Cells(a, t + 1).Text
If t > 2 And IsNumeric(.list(n, t)) = True Then .list(n, t) = Format(.list(n, t), "#,##0.00")
Next
n = n + 1
End If
Next
End With
End Sub



Private Sub Label1_Click()

End Sub

Private Sub ListBox1_Click()
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
TextBox1 = ListBox1.Column(0, i)
TextBox2 = ListBox1.Column(1, i)
TextBox3 = ListBox1.Column(5, i)
TextBox4 = ListBox1.Column(4, i)
TextBox5 = ListBox1.Column(6, i)
TextBox6 = ListBox1.Column(7, i)
'TextBox3 = ListBox1.Column(2, i)
'TextBox2 = ListBox1.Column(1, i)
'TextBox3 = ListBox1.Column(2, i)


End If
Next i
sat = ListBox1.ListIndex + 2
Range("A" & sat & ":E" & sat).Interior.ColorIndex = 5

End Sub



Private Sub UserForm_Activate()
'DEĞERİ SIFIR OLAN SATIRI SİL
Application.ScreenUpdating = False
Dim Rng As Range
Dim c As Range
Set Rng = Range("f2:f500")


hnd = FindWindow(vbNullString, Me.Caption)
SetTimer hnd, 0, 1000, AddressOf Timer
Label1 = Format(Time, "hh:mm:ss ")
Label13 = Format(Date, "dd.mm.yyyy")

MİZAN_Initialize

End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
KillTimer hnd, 0
End Sub
Private Sub MİZAN_Initialize()
Me.Top = Application.Top
Me.Left = Application.Left
Me.Height = Application.Height
Me.Width = Application.Width
With MİZAN.ListBox1
.BackColor = vbWhite
.ColumnCount = 9
.ColumnWidths = "130;129;0;0;80;80;88;88;70"
.ForeColor = vbBlack
If Sheets("MİZAN").Range("a2") = Empty Then
.RowSource = Empty
Else
.RowSource = "MİZAN!a1:H" & [MİZAN!a65536].End(3).Row
End If
End With
End Sub

yukarıdaki kodlarla mizan sayfasındaki veriler ilk geldiğinde farklı aktarma yapınca (sütunlar)farklı geliyor.
Sütunlar
 
Merhaba
Yani; listeye sıfır değerli olanlarda gelecek ise
https://drive.google.com/open?id=1GMg9qZI_ObaiYMHg6cdN7BeOpWb8YNig

Ayrıca timer sonlandırma kodlarını
(Sanırım formu her zaman "X" düğmesinden kapatmayacaksınız; )
Kod:
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)

başlığı altında değilde; aşağıdaki gibi kullanalım

Kod:
Private Sub UserForm_Terminate()
KillTimer hnd, 0
End Sub
 
İyi akşamlar.

Son çalışmanız da değişik bir fikir verdi ama anlatmak istediğim;

Listbox a gelen ilk verileri sütun başlıklarına göre getiremiyorum.
Mizan değerleri karşılaştırıldığında değerler sütun başlıkların altına oturuyor.
Yapmak istediğim buydu. Anlatamadım sanıyorum .
İlginize teşekkürler.
http://s5.dosya.tc/server5/kni0c0/Desktop.rar.html
Listbox gelen verilerde mizan fazla sütun değerleri listbox dışındad kalıyor.
 

Ekli dosyalar

  • mizan 1.JPG
    mizan 1.JPG
    110.5 KB · Görüntüleme: 6
  • mizan  2.JPG
    mizan 2.JPG
    105.1 KB · Görüntüleme: 5
  • Desktop.rar
    Desktop.rar
    1.6 MB · Görüntüleme: 4
Son düzenleme:
Merhaba
"Listbox1/properties/TextAlign=3" yani gelen sayıların görünümü için sağa dayalı
"Listview" de sütunlar ayrı ayrı sağa sola ayarlanabiliyor ama "Listbox" da olmuyor.
Onun içinde son dosyada "Listbox" sütun sayısı 9 a çıkarmıştım (tabi son sütun boş)
Kod:
Private Sub MİZAN_Initialize()
With MİZAN.ListBox1
.BackColor = vbWhite
.ColumnCount = 9
.ColumnWidths = "100;100;0;0;60;60;60;60;10"
'...
'...
 
Mizan sayfasına alınan değerleri e topla ile yaptırdım ama satır artıkça sorun olacağa benziyor.mizan karşılatırma da formülle yapıldı .Makro ile yapabilir miyiz?
 
Son düzenleme:
Mizan sayfasına alınan değerleri e topla ile yaptırdım ama satır artıkça sorun olacağa benziyor.Aynı zamanda da değerlerin fazla veya eksikliği de formülle yapıldı. Makro ile yapabilirmiyiz?
 
Mizan sayfasına alınan değerleri e topla ile yaptırdım ama satır artıkça sorun olacağa benziyor.Aynı zamanda da değerlerin fazla veya eksikliği de formülle yapıldı. Makro ile yapabilirmiyiz?

En son eklediğimiz dosya "MİZAN" userformu; verileri getiren buton kodlarına (aşağıdaki kodların son bölümündeki mavi satırları) ekleyip/değiştirip deneyin
Kod:
[SIZE="2"]Private Sub CommandButton1_Click()
Set s1 = [COLOR="Red"]Sheets("MİZAN")[/COLOR] 'son eklenen kodlarıda ilgilendirir
s1.Activate
s1.Range([COLOR="Red"]"A2:E"[/COLOR] & Rows.Count).ClearContents
   s1.Columns("E:H").NumberFormat = "#,##0.00"
Set c = CreateObject("scripting.filesystemobject")
If c.FileExists(ThisWorkbook.Path & "\MİZAN.xlsm") = False Then
MsgBox "MİZAN.xlsm Dosyası bulunamadı" & vbCrLf & "Verilerin alınacağı MİZAN.xlsm dosyası bu dosyanın yanında olmalı"
Exit Sub
End If
Set con = CreateObject("Adodb.Connection")
Set dt = CreateObject("adodb.recordset")
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & _
ThisWorkbook.Path & "\MİZAN.xlsm" & ";Extended Properties = ""Excel 12.0 Macro;HDR=no"";"
   sut = "Select [F1],[F2],[F3],[F4],[F6] From [RAPOR$A2:F65000]"
dt.Open sut, con, 1, 1

s1.Range("A2").CopyFromRecordset dt
dt.Close
Set dt = Nothing
Set con = Nothing
ListBox1.RowSource = "MİZAN!a1:I" & [MİZAN!a65536].End(3).Row

'ListBox1.RowSource = ""
'ListBox1.Clear
'n = 0
'rw = s1.Cells(Rows.Count, "A").End(3).Row
'With ListBox1
'For a = 1 To rw
'If s1.Cells(a, "E") <> "" And s1.Cells(a, "E") > 0 Then
'.AddItem s1.Cells(a, 1)
'For t = 1 To 7
'.list(n, t) = s1.Cells(a, t + 1).Text
'Next
'n = n + 1
'End If
'Next
'End With
[COLOR="Blue"]Application.Calculation = xlCalculationManual
On Error Resume Next
Set s2 = Sheets("VERİ")
v = s2.Cells(Rows.Count, "A").End(3).Row
With Sheets("MİZAN")
For p = 2 To .Cells(Rows.Count, "B").End(3).Row
.Cells(p, "F") = WorksheetFunction.SumIf(s2.Range("H2:H" & v), .Cells(p, "B").Value, s2.Range("O2:O" & v))
If CDbl(.Cells(p, "E")) - CDbl(.Cells(p, "F")) < 0 Then
.Cells(p, "G") = 0
.Cells(p, "H") = CDbl(.Cells(p, "F")) - CDbl(.Cells(p, "E"))
Else
.Cells(p, "G") = CDbl(.Cells(p, "E")) - CDbl(.Cells(p, "F"))
.Cells(p, "H") = 0
End If
Next
End With
Application.Calculation = xlCalculationAutomatic[/COLOR]
End Sub [/SIZE]
 
Geri
Üst