[Yardım]  ListView Yuruyen Bakiye ve Siralama Sorunu

Kulanıcı arayüz formu

ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#1)  halidhan » 27 Haz 2020 01:43

Merhabalar,
Assagida Lisview le ilgili bir kac sorunum var bir turlu beceremedim , Ilk once Listem duzensiz oldugu icin 1 ci sutuna gore nasil siralatabilirim AZ'ye , ki birinci sutunda tarihleri cekiyor bu islemi bitirdikten sonra 6ci sutunum (Bakiye yazan) - Bakiye yapmak istiyorum (Yuruyen Bakiye ) 4cu - 5ci sutun =6 ci sutun = 2 ci satira indiginde 6 ci sutun da kalan bakiye + 4 cu sutun - 5 ci sutun diye devam ettirmek,
2 ci Sorunum 3 cu sutunumda Aciklamalarin icinde Kril Alfabesi ile notlar var onlari ducgun getirmiyor karakterler cikariyor onun bir cozumu varmidir,
3. Sorum , Bu listeyi Ardisik olarak Excel Pivottaki gibi renklendire bilirmiyiz ,

Yardimlariniz icin Tesekkurler

Sub UserForm_Initialize()
Dim s1 As Worksheet, i As Long
Dim SatirSayListe, SubAcc_Say, iSatir, SSatir, cSatir As Integer
Dim Firma As String
Dim Firma1 As String

Set s1 = Sheets("Mizan")
Set Liste = Sheets("Liste")
Firma = Sheets("Mizan").Cells(1, 18).Value
Firma1 = Sheets("Mizan").Cells(1, 19).Value

SatirSayListe = WorksheetFunction.CountA(Worksheets("Liste").Range("h:h"))

With ListView1
.View = lvwReport
.ColumnHeaders.Add , , "Tarih ", 60 .
.ColumnHeaders.Add , , "Firma Adi ", 130
.ColumnHeaders.Add , , " Aciklama ", 180
.ColumnHeaders.Add , , " Borc ", 100, lvwColumnRight
.ColumnHeaders.Add , , " Alacak ", 100, lvwColumnRight
.ColumnHeaders.Add , , " Bakiye ", 100, lvwColumnRight
.FullRowSelect = True
.Gridlines = True
End With

For i = 2 To Sheets("Liste").Cells(65536, 8).End(xlUp).Row '[a65536].End(3).Row

If Sayfa1.Cells(i, 7) = Firma And Sayfa1.Cells(i, 8) = Firma1 Then

Set Liste = ListView1.ListItems.Add(, , Sheets(1).Cells(i, 3).Value)
Liste.SubItems(1) = Sheets(1).Cells(i, 8).Value
Liste.SubItems(2) = Sheets(1).Cells(i, 9).Value
Liste.SubItems(3) = Format(Sheets(1).Cells(i, 10), "##,###.00")
Liste.SubItems(4) = Format(Sheets(1).Cells(i, 11), "##,###.00")

End If
Next i

End Sub
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
halidhan
Yeni Başlamış
 
Kayıt: 13 Haz 2020 15:00
Meslek: Muhasebe
Yaş: 41
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#2)  Miraç CAN » 27 Haz 2020 12:07

Sitedeki Forumda, ListView başlığı altında, sıralama ve renklendirme ile ilgili benzer örnekleri inceleyebilirsiniz: viewforum.php?f=49

Sıralama için:
Kod: Tümünü seç
With ListView1
    .SortKey = 1 '1. Sütun
    .SortOrder = lvwAscending 'Artan sıralama
    .SortOrder = lvwDescending 'Azalan sıralama
    .Sorted = True
End With

Tarih formatınıza göre düzenleme yapılması gerekebilir.

Bakiye yazmak için örnek olarak:
Kod: Tümünü seç
If IsEmpty(Liste.SubItems(4)) Then
    Liste.SubItems(5) = Liste.SubItems(3)
Else
    Liste.SubItems(5) = ListView1.ListItems(ListView1.ListItems.Count - 1).SubItems(5) - Liste.SubItems(4)
End If


Renklendirme için örnek:
Kod: Tümünü seç
For b = 1 To ListView1.ListItems.Count Step 2
    ListView1.ListItems(b).ForeColor = vbRed
    For c = 1 To ListView1.ListItems(b).ListSubItems.Count
        ListView1.ListItems(b).ListSubItems(c).ForeColor = vbMagenta
    Next c
Next b


Kiril alfabesi için Unicode kullanmama rağmen yazdıramadım, TextBox'lara yazabiliyor. Latin harflerine çevirip yapılabilir, başka bir yöntem varsa bilenler katkı sağlayabilirler.
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#3)  halidhan » 27 Haz 2020 17:02

Hocam oncelikle elinize saglik, ama siralamadan sonra bakiye icin yazdiginiz komutlari ekledim hata veriyor,
yanlismi ekliyorum acaba baka bilirmisiniz,

With ListView1
.View = lvwReport 'ListView de buna dikkat etmeliyiz, Eðer ListWiev de burayý lvwReport olarak ayarlamazsak diðer yapýlan iþlemler listemizde gözükmeyecektir.
.ColumnHeaders.Add , , "Tarih ", 60 ' Burda ListView nesnemize Sýra No adýnda bir kolon ekliyoruz ve 100 sütun geniþliðini belirtiyor.
.ColumnHeaders.Add , , "Firma Adi ", 130 'Ýkinci kolonumuzu ekledik.
.ColumnHeaders.Add , , " Aciklama ", 180 ' Üçüncü kolunda burdan ekledik..
.ColumnHeaders.Add , , " Borc ", 100, lvwColumnRight ' 4. sütun ekleniyor
.ColumnHeaders.Add , , " Alacak ", 100, lvwColumnRight ' Son sutunumuzda eklendi ...
.ColumnHeaders.Add , , " Bakiye ", 100, lvwColumnRight ' Son sutunumuzda eklendi ...
.FullRowSelect = True 'liste elemanýný seçtiðinizde tüm satýr seçili olur.
.Gridlines = True 'Listeyi çizgili yapar.
End With

For i = 2 To Sheets("Liste").Cells(65536, 8).End(xlUp).Row '[a65536].End(3).Row

If Sayfa1.Cells(i, 7) = Firma And Sayfa1.Cells(i, 8) = Firma1 Then

Set Liste = ListView1.ListItems.Add(, , Sheets(1).Cells(i, 3).Value)
Liste.SubItems(1) = Sheets(1).Cells(i, 8).Value
Liste.SubItems(2) = Sheets(1).Cells(i, 9).Value
Liste.SubItems(3) = Format(Sheets(1).Cells(i, 10), "##,###.00")
Liste.SubItems(4) = Format(Sheets(1).Cells(i, 11), "##,###.00")
With ListView1 ' Birinci sutuna gore AZ ye siralama
.SortKey = 1 '1. Sütun
.SortOrder = lvwAscending 'Artan siralama
.SortOrder = lvwDescending 'Azalan siralama
.Sorted = True

If IsEmpty(Liste.SubItems(4)) Then ' buraya bu sekil ekledim lakin olmadi
Liste.SubItems(5) = Liste.SubItems(3)
Else
Liste.SubItems(5) = ListView1.ListItems(ListView1.ListItems.Count - 1).SubItems(5) - Liste.SubItems(4)
End If

End With
End If
Next i

End Sub
Kullanıcı avatarı
halidhan
Yeni Başlamış
 
Kayıt: 13 Haz 2020 15:00
Meslek: Muhasebe
Yaş: 41
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#4)  Miraç CAN » 27 Haz 2020 17:21

Bu şekilde olmalı:
Kod: Tümünü seç
With ListView1
    .View = lvwReport 'ListView de buna dikkat etmeliyiz, E?er ListWiev de burayy lvwReport olarak ayarlamazsak di?er yapylan i?lemler listemizde gözükmeyecektir.
    .ColumnHeaders.Add , , "Tarih ", 60 ' Burda ListView nesnemize Syra No adynda bir kolon ekliyoruz ve 100 sütun geni?li?ini belirtiyor.
    .ColumnHeaders.Add , , "Firma Adi ", 130 'Ykinci kolonumuzu ekledik.
    .ColumnHeaders.Add , , " Aciklama ", 180 ' Üçüncü kolunda burdan ekledik..
    .ColumnHeaders.Add , , " Borc ", 100, lvwColumnRight ' 4. sütun ekleniyor
    .ColumnHeaders.Add , , " Alacak ", 100, lvwColumnRight ' Son sutunumuzda eklendi ...
    .ColumnHeaders.Add , , " Bakiye ", 100, lvwColumnRight ' Son sutunumuzda eklendi ...
    .FullRowSelect = True 'liste elemanyny seçti?inizde tüm satyr seçili olur.
    .Gridlines = True 'Listeyi çizgili yapar.
End With

For i = 2 To Sheets("Liste").Cells(65536, 8).End(xlUp).Row '[a65536].End(3).Row
    If Sayfa1.Cells(i, 7) = Firma And Sayfa1.Cells(i, 8) = Firma1 Then
        Set Liste = ListView1.ListItems.Add(, , Sheets(1).Cells(i, 3).Value)
        Liste.SubItems(1) = Sheets(1).Cells(i, 8).Value
        Liste.SubItems(2) = Sheets(1).Cells(i, 9).Value
        Liste.SubItems(3) = Format(Sheets(1).Cells(i, 10), "##,###.00")
        Liste.SubItems(4) = Format(Sheets(1).Cells(i, 11), "##,###.00")
        If IsEmpty(Liste.SubItems(4)) Then ' buraya bu sekil ekledim lakin olmadi
            Liste.SubItems(5) = Liste.SubItems(3)
        Else
            Liste.SubItems(5) = ListView1.ListItems(ListView1.ListItems.Count - 1).SubItems(5) - Liste.SubItems(4)
        End If
    End If
Next i
With ListView1 ' Birinci sutuna gore AZ ye siralama
    .SortKey = 1 '1. Sütun
    .SortOrder = lvwAscending 'Artan siralama
    .SortOrder = lvwDescending 'Azalan siralama
    .Sorted = True
End With
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#5)  halidhan » 27 Haz 2020 17:34

Hocam Ayne assagidaki sekilde yaptim lakin tekrar hata veriyor, ikinci olarak calistiginda once siralama yapip sonra bakiyeyi hesaplamasi lazim, siralama ensonuna koymussunuz o siralamaya gore bakiyeyi duzgun getirirmi acaba?

Sub UserForm_Initialize()
Dim s1 As Worksheet, i As Long
Dim SatirSayListe, SubAcc_Say, iSatir, SSatir, cSatir As Integer
Dim Firma As String
Dim Firma1 As String

Set s1 = Sheets("Mizan")
Set Liste = Sheets("Liste")
Firma = Sheets("Mizan").Cells(1, 18).Value
Firma1 = Sheets("Mizan").Cells(1, 19).Value

SatirSayListe = WorksheetFunction.CountA(Worksheets("Liste").Range("h:h"))

With ListView1
.View = lvwReport
.ColumnHeaders.Add , , "Tarih ", 60
.ColumnHeaders.Add , , "Firma Adi ", 130
.ColumnHeaders.Add , , " Aciklama ", 180 '
.ColumnHeaders.Add , , " Borc ", 100, lvwColumnRight
.ColumnHeaders.Add , , " Alacak ", 100, lvwColumnRight
.ColumnHeaders.Add , , " Bakiye ", 100, lvwColumnRight
.FullRowSelect = True
End With

For i = 2 To Sheets("Liste").Cells(65536, 8).End(xlUp).Row '[a65536].End(3).Row

If Sayfa1.Cells(i, 7) = Firma And Sayfa1.Cells(i, 8) = Firma1 Then

Set Liste = ListView1.ListItems.Add(, , Sheets(1).Cells(i, 3).Value)
Liste.SubItems(1) = Sheets(1).Cells(i, 8).Value
Liste.SubItems(2) = Sheets(1).Cells(i, 9).Value
Liste.SubItems(3) = Format(Sheets(1).Cells(i, 10), "##,###.00")
Liste.SubItems(4) = Format(Sheets(1).Cells(i, 11), "##,###.00")
If IsEmpty(Liste.SubItems(4)) Then
Liste.SubItems(5) = Liste.SubItems(3)
Else
Liste.SubItems(5) = ListView1.ListItems(ListView1.ListItems.Count - 1).SubItems(5) - Liste.SubItems(4)
End If
End If
Next i
With ListView1
.SortKey = 1 '1. Sütun
.SortOrder = lvwAscending
.SortOrder = lvwDescending
.Sorted = True
End With


End Sub
Kullanıcı avatarı
halidhan
Yeni Başlamış
 
Kayıt: 13 Haz 2020 15:00
Meslek: Muhasebe
Yaş: 41
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#6)  halidhan » 27 Haz 2020 22:35

Hocam Bunlara ek olarak Siralamada Calismiyor sanirim tarihler karisik geliyor

Tesekkurler
Kullanıcı avatarı
halidhan
Yeni Başlamış
 
Kayıt: 13 Haz 2020 15:00
Meslek: Muhasebe
Yaş: 41
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#7)  Miraç CAN » 28 Haz 2020 09:09

Benzer konuların çözümleri hakkında, önce ki mesajımda belirttiğim konu başlığı altınca bolca örnek bulunmakta, incelemenizi tavsiye ederim. Bu sayede neden olmuyor, neresi olmuyor; çözebileceğinizi, mantığını kavrayabileceğinizi ve size fayda sağlayacağını düşünüyorum.
Basit bir örnek oluşturarak denedim, ve bir sorunla karşılaşmadım,
Deneyin:
Kod: Tümünü seç
Sub UserForm_Initialize()
Dim s1 As Worksheet, i As Long
Dim SatirSayListe, SubAcc_Say, iSatir, SSatir, cSatir As Integer
Dim Firma As String, Firma1 As String

Set s1 = Sheets("Mizan")
Set Liste = Sheets("Liste")
Firma = Sheets("Mizan").Cells(1, 18).Value
Firma1 = Sheets("Mizan").Cells(1, 19).Value

SatirSayListe = WorksheetFunction.CountA(Worksheets("Liste").Range("h:h"))

With ListView1
    .View = lvwReport
    .ColumnHeaders.Add , , "Tarih ", 60
    .ColumnHeaders.Add , , "Firma Adi ", 130
    .ColumnHeaders.Add , , " Aciklama ", 180
    .ColumnHeaders.Add , , " Borc ", 100, lvwColumnRight
    .ColumnHeaders.Add , , " Alacak ", 100, lvwColumnRight
    .ColumnHeaders.Add , , " Bakiye ", 100, lvwColumnRight
    .FullRowSelect = True
End With

For i = 2 To Sheets("Liste").Cells(Rows.Count, 8).End(xlUp).Row '[a65536].End(3).Row

    If Sayfa1.Cells(i, 7) = Firma And Sayfa1.Cells(i, 8) = Firma1 Then
   
        Set Liste = ListView1.ListItems.Add(, , Sheets(1).Cells(i, 3).Value)
        Liste.SubItems(1) = Sheets(1).Cells(i, 8).Value
        Liste.SubItems(2) = Sheets(1).Cells(i, 9).Value
        Liste.SubItems(3) = Format(Sheets(1).Cells(i, 10), "##,###.00")
        Liste.SubItems(4) = Format(Sheets(1).Cells(i, 11), "##,###.00")
        Liste.SubItems(5) = CLng(CDate(ListView1.ListItems(i - 1)))
        If i Mod 2 Then
            With ListView1.ListItems(i - 1)
                .ForeColor = vbBlue
                For f = 1 To 5
                    .ListSubItems(f).ForeColor = vbBlue
                Next f
            End With
        End If
    End If
Next i
With ListView1
    .SortKey = 5
    .SortOrder = lvwAscending
    .Sorted = True
    With .ListItems(1): .SubItems(5) = Val(.SubItems(3)) - Val(.SubItems(4)): End With
    For i = 2 To .ListItems.Count
        With .ListItems(i)
            .SubItems(5) = Val(ListView1.ListItems(i - 1).SubItems(5)) + Val(.SubItems(3)) - Val(.SubItems(4))
        End With
    Next i
End With
End Sub
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#8)  halidhan » 28 Haz 2020 15:23

Merhabalar hocam , sabah saat 5 kadar ugrastim internetten bakmadigim yer kalmadi ama beceremedim, cok iyi bilmiyorum, zaten yaptiklarimida orneklerden bakarak yapmistim, Gonderdiginiz Makro calismiyor yine Run Time Error 35600 hatasi veriyor (index out of bounds) hatanin aciklamasi
Kullanıcı avatarı
halidhan
Yeni Başlamış
 
Kayıt: 13 Haz 2020 15:00
Meslek: Muhasebe
Yaş: 41
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#9)  Miraç CAN » 28 Haz 2020 15:33

Ben de böyle böyle öğrenmiştim :)
İnteger değişkenlerden kaynaklanıyordur muhtemelen, tahmin ediyorum ki ListView index'lerinden.
Formunuzun ekli olduğu basit bir örnek dosya eklerseniz çabucak düzeltebiliriz diye düşünüyorum.
Çünkü forma eklemeden, sizin fotoğrafta yer verdiğiniz ListView benzeri bir form oluşturup, eklediğim bakiye, sıralama ve renklendirme kodlarını test etmiştim.

Ya da şu kodları iyice kontrol edin, ListItems(i - 1) , .ListSubItems(f) , SubItems(5) gibi index değişkenleri olanları.
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#10)  halidhan » 28 Haz 2020 16:12

Hocam ekte gonderiyorum Dosyayi calistiktan sora mizan sayfamda Activecell butunom var kosulu aslinda oraya baglamak istiyorum uzerinde bulundugu althesabi ve solundaki ana hesabi kosul alarak listeyi getirmesi lazim butona tiklayinca, sizide yorduk kusura kalmayin

Tesekkurler
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
halidhan
Yeni Başlamış
 
Kayıt: 13 Haz 2020 15:00
Meslek: Muhasebe
Yaş: 41
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#11)  halidhan » 28 Haz 2020 17:46

Hocam Sadece listview Tablosu calissa yeterli , Aktif hucre olayini yapabildim ornekleri inceleyerek ama tablom hala calismiyo hata veriyo duzeltemedim index olayini cozemedim
Kullanıcı avatarı
halidhan
Yeni Başlamış
 
Kayıt: 13 Haz 2020 15:00
Meslek: Muhasebe
Yaş: 41
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#12)  halidhan » 28 Haz 2020 19:25

Deneme Listview.rar

Hocam biraz ugrastim, Hata renklendirme kodlarinda onlari kapatinca calisiyor Siralama tarihe gore yapmiyordu 1 i 0 la degistirince siralamayi yapti lakin Bakiye dogru hesaplamiyor denedim bir kac seyi ama ilk baslangictan itibaren hatali yapiyor ,

Dosyann en son halini ekliyorum
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
halidhan
Yeni Başlamış
 
Kayıt: 13 Haz 2020 15:00
Meslek: Muhasebe
Yaş: 41
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#13)  halidhan » 28 Haz 2020 20:12

Hocam bu arada , SIRALAMA Sorunu sutunlara koydugum sayi formati yuzundenmis Sayi formatini kaldirinca duzeldi , duzelmis sekline para formatina cevirmem lazim nasil yapa biliriz ("##,###.00") bu arada renklendirme calismadi
Kullanıcı avatarı
halidhan
Yeni Başlamış
 
Kayıt: 13 Haz 2020 15:00
Meslek: Muhasebe
Yaş: 41
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#14)  halidhan » 28 Haz 2020 20:48

Hocam assagidaki sekilde birseyler yaptim "Renk" ve "Kril" alfabesi haric tarihe gore siralama , Bakiyeyi alma, ve Para Formatina cevirme calisiyor


Private Sub UserForm_Initialize()
Dim s1 As Worksheet, i As Long
Dim SatirSayListe, SubAcc_Say, iSatir, SSatir, cSatir As Integer
Dim Firma As String, Firma1 As String

Set s1 = Sheets("Mizan")
Set Liste = Sheets("Liste")
Firma = Sheets("Mizan").Cells(1, 18).Value
Firma1 = Sheets("Mizan").Cells(1, 19).Value

SatirSayListe = WorksheetFunction.CountA(Worksheets("Liste").Range("h:h"))

With ListView1
.View = lvwReport
.ColumnHeaders.Add , , "Tarih ", 60
.ColumnHeaders.Add , , "Firma Adi ", 130
.ColumnHeaders.Add , , " Aciklama ", 180
.ColumnHeaders.Add , , " Borc ", 100, lvwColumnRight
.ColumnHeaders.Add , , " Alacak ", 100, lvwColumnRight
.ColumnHeaders.Add , , " Bakiye ", 100, lvwColumnRight
.FullRowSelect = True
End With

For i = 2 To Sheets("Liste").Cells(Rows.Count, 8).End(xlUp).Row '[a65536].End(3).Row

If Sayfa1.Cells(i, 7) = Firma And Sayfa1.Cells(i, 8) = Firma1 Then

Set Liste = ListView1.ListItems.Add(, , Sheets(1).Cells(i, 3).Value)
Liste.SubItems(1) = Sheets(1).Cells(i, 8).Value
Liste.SubItems(2) = Sheets(1).Cells(i, 9).Value
Liste.SubItems(3) = Sheets(1).Cells(i, 10).Value ' Format(Sheets(1).Cells(i, 10), "##,###.00")
Liste.SubItems(4) = Sheets(1).Cells(i, 11).Value 'Format(Sheets(1).Cells(i, 11), "##,###.00")

'Liste.SubItems(1) = CLng(CDate(ListView1.ListItems(i - 1)))
' If i Mod 2 Then
' With ListView1.ListItems(i - 1)
' .ForeColor = vbBlue
' For f = 1 To 5
' .ListSubItems(f).ForeColor = vbBlue
' Next f
' End With
' End If
End If
Next i
With ListView1
.SortKey = 0
.SortOrder = lvwAscending
.Sorted = True
With .ListItems(1): .SubItems(5) = Val(.SubItems(3)) - Val(.SubItems(4)): End With
For Z = 2 To .ListItems.Count
With .ListItems(Z)
.SubItems(5) = Val(ListView1.ListItems(Z - 1).SubItems(5)) + Val(.SubItems(3)) - Val(.SubItems(4))
End With
Next Z
End With

For a = 1 To ListView1.ListItems.Count
With ListView1.ListItems(a).ListSubItems(5)
If IsNumeric(.Text) = True Then
syi = Format(.Text)
.Text = Format(syi, "##,###.00")
End If
End With
Next
ListView1.Sorted = False

For b = 1 To ListView1.ListItems.Count
With ListView1.ListItems(b).ListSubItems(4)
If IsNumeric(.Text) = True Then
syi = Format(.Text)
.Text = Format(syi, "##,###.00")
End If
End With
Next
ListView1.Sorted = False

For c = 1 To ListView1.ListItems.Count
With ListView1.ListItems(c).ListSubItems(3)
If IsNumeric(.Text) = True Then
syi = Format(.Text)
.Text = Format(syi, "##,###.00")
End If
End With
Next
ListView1.Sorted = False


End Sub
Kullanıcı avatarı
halidhan
Yeni Başlamış
 
Kayıt: 13 Haz 2020 15:00
Meslek: Muhasebe
Yaş: 41
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#15)  halidhan » 28 Haz 2020 22:24

Hocam cok sagolun yazdiginiz kodlar uzerinden Kril alfabesi Haric hepsini cozdum Renkde ki sorun For -Next dongusun kaynaklaniyormus 1 yaziyordu 2 yapinca duzeldi Lakin sadece yazilari renklendiriyor, Yazi yerine satirlari renklendiremez miyiz? arastirdim ama sizin formule uyarlayacagim ornek bulamadim, cok karisik ornek buldum oda makromu bozuyor.

Tesekkurler,



Private Sub UserForm_Initialize()
Dim s1 As Worksheet, i As Long
Dim SatirSayListe, SubAcc_Say, iSatir, SSatir, cSatir As Integer
Dim Firma As String, Firma1 As String

Set s1 = Sheets("Mizan")
Set Liste = Sheets("Liste")
Firma = Sheets("Mizan").Cells(1, 18).Value
Firma1 = Sheets("Mizan").Cells(1, 19).Value

SatirSayListe = WorksheetFunction.CountA(Worksheets("Liste").Range("h:h"))

With ListView1
.View = lvwReport
.FullRowSelect = True
.ColumnHeaders.Add , , "Tarih ", 60
.ColumnHeaders.Add , , "Firma Adi ", 130
.ColumnHeaders.Add , , " Aciklama ", 180
.ColumnHeaders.Add , , " Borc ", 100, lvwColumnRight
.ColumnHeaders.Add , , " Alacak ", 100, lvwColumnRight
.ColumnHeaders.Add , , " Bakiye ", 100, lvwColumnRight
.FullRowSelect = True
End With

For i = 2 To Sheets("Liste").Cells(Rows.Count, 8).End(xlUp).Row '[a65536].End(3).Row

If Sayfa1.Cells(i, 7) = Firma And Sayfa1.Cells(i, 8) = Firma1 Then

Set Liste = ListView1.ListItems.Add(, , Sheets(1).Cells(i, 3).Value)
Liste.SubItems(1) = Sheets(1).Cells(i, 8).Value
Liste.SubItems(2) = Sheets(1).Cells(i, 9).Value
Liste.SubItems(3) = Sheets(1).Cells(i, 10).Value ' Format(Sheets(1).Cells(i, 10), "##,###.00")
Liste.SubItems(4) = Sheets(1).Cells(i, 11).Value 'Format(Sheets(1).Cells(i, 11), "##,###.00")


End If
Next i
With ListView1
.SortKey = 0
.SortOrder = lvwAscending
.Sorted = True
With .ListItems(1): .SubItems(5) = Val(.SubItems(3)) - Val(.SubItems(4)): End With
For Z = 2 To .ListItems.Count
With .ListItems(Z)
.SubItems(5) = Val(ListView1.ListItems(Z - 1).SubItems(5)) + Val(.SubItems(3)) - Val(.SubItems(4))
End With
Next Z
End With

For a = 1 To ListView1.ListItems.Count
With ListView1.ListItems(a).ListSubItems(5)
If IsNumeric(.Text) = True Then
syi = Format(.Text)
.Text = Format(syi, "##,###.00")
End If
End With
Next
ListView1.Sorted = False

For b = 1 To ListView1.ListItems.Count
With ListView1.ListItems(b).ListSubItems(4)
If IsNumeric(.Text) = True Then
syi = Format(.Text)
.Text = Format(syi, "##,###.00")
End If
End With
Next
ListView1.Sorted = False

For c = 1 To ListView1.ListItems.Count
With ListView1.ListItems(c).ListSubItems(3)
If IsNumeric(.Text) = True Then
syi = Format(.Text)
.Text = Format(syi, "##,###.00")
End If
End With
Next
ListView1.Sorted = False

For i = 2 To ListView1.ListItems.Count
Liste.SubItems(1) = CLng(CDate(ListView1.ListItems(i - 1)))
If i Mod 2 Then
With ListView1.ListItems(i - 1)
.ForeColor = vbBlue
For f = 1 To 5
.ListSubItems(f).ForeColor = vbBlue
Next f
End With
End If
Next i


End Sub
Kullanıcı avatarı
halidhan
Yeni Başlamış
 
Kayıt: 13 Haz 2020 15:00
Meslek: Muhasebe
Yaş: 41
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#16)  Miraç CAN » 29 Haz 2020 07:34

Elinize sağlık şkşk

Çalışıyorsa sorun yok demektir --)(

Biraz sadeleştirilebilir ama.
BackColor sıkıntılı evet, aslında öyle bir özelliği yok ama konuya hakim, üstad arkadaşlar bir şekilde, dolambaçlı yollardan kandırmayı bulup yapmışlar.
En iyi örneklerinden biri bu: viewtopic.php?f=49&t=11735
Bu yapı üzerine kendi kodlarınızı adapte edebilirsiniz. Kullandığınız sürümden kaynaklı deklarasyonları düzeltmeniz gerekebilir.
Ve herhangi bir yerde Option Explicit yazıyorsa, tüm değişkenlerinizi tanımlamanız gerekiyor. Dim a as İnteger vs. gibi.
Kullanıcı avatarı
Miraç CAN
Site Dostu
 
Kayıt: 26 Arl 2016 19:07
Meslek: Harita/Ölçme
Yaş: 39
İleti: 543
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Amasya\Adana

Cevap: ListView Yuruyen Bakiye ve Siralama Sorunu

İleti#17)  halidhan » 29 Haz 2020 12:48

Eyvallah Hocam Sizinde elinize Saglik, sayenizde, , o gonderdiginiz adres resim falan ekleyerek ekleme beni cok asiyor ,hic animsattiran formul yok sizin formuller gibi gibi degil sizinkiler az ingilizce bilgisiyle okuna biliyor mantigi, ama arkarenk icin yapilan cok karisik komutlar bilmeden olmaz object diye hatalar veriyo sanki resimleri yada nesneleri bir seyle yuklemek lazim gibi
Kullanıcı avatarı
halidhan
Yeni Başlamış
 
Kayıt: 13 Haz 2020 15:00
Meslek: Muhasebe
Yaş: 41
İleti: 21
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Giresun


Forum UserForm

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe