listview'de değiştirmek ve silmek

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
25-12-2029
Merhaba arkadaşlar ekli dosyada formu açtığımızda gelen formda listview in üzerine tıkladığımızda listview deki bilgiler listview in altında bulunan textbox14 den textbox26 ya kadar olan textboxlara verileri alıyor benim bu form sitesinde yine başka bir hocamın yapmış olduğu kodları kendime uyarlayıp yapmaya çalıştım ama olmadı listview de seçili olan veriler varken sil butonuna tıkladığımızda o verilerin olduğu satırı komple silecek ama a stünunda sıra numarası var bu numaral yine 1 den başlayıp devam etmeli, ve listview e tıkaldığımızda ordaki veriler listview in hemen altındaki textboxlara taşındıktan sonra değiştirmek istediğmiz veriyi ilgili textboxa yazıp "Değiştir" butonuna bastığımızda ise o satıra ait bilgilerin sıra numarasınıda bozmadan ordaki yeni verileri değiştirmesi için nasıl bir kod yazabaliriz şimdiden ilgilenen arkadaşlarıma teşekkür ederim.

SAYGILARIMLA
 
Son düzenleme:

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
Selam,

Module1'deki Listele Procedure' ü kullanmamalısın. Modul, Listview diye nesne tanımaz.

Procedure, Form kod modulunde "Private Sub Listele" olarak kullanılabilir.

Ben buna gerek duymadan Initialize olayı ile çözüm yoluna gittim.

Sil ve Initialize'nin düzenlenmiş hali:

Sil
Kod:
Private Sub sil_Click()
Sheets("KASA").Select
Y = ListView1.SelectedItem.Index
'x = ListView1.SelectedItem.Index
x = ListView1.ListItems(Y).Index
cevap = MsgBox("Silmek istediğinizden emin misiniz?", vbYesNo, "SİLME ONAYI")
If cevap = vbYes Then
    Set Sh = Sheets("KASA")
    Sh.Rows(x + 5).Delete ' 6. satırdan başladığı için...
    Set Sh = Nothing
    UserForm_Initialize
End If
End Sub
Initialize:
Kod:
Private Sub UserForm_Initialize()
On Error Resume Next
Dim skrt As Worksheet
Set skrt = ThisWorkbook.Worksheets("KRITERLER")
say = skrt.Cells(65536, 1).End(xlUp).Row
ComboBox2.Clear
ComboBox3.Clear

For i1 = 2 To skrt.Cells(65536, 1).End(xlUp).Row
With ComboBox2
    .AddItem skrt.Cells(i1, 1).Value
End With
Next i1

For i2 = 2 To skrt.Cells(65536, 3).End(xlUp).Row

With ComboBox3
    .AddItem skrt.Cells(i2, 3).Value
End With
Next i2
TextBox13 = Format(TextBox13.Value, "#,##0.00")

TextBox13.Text = Sheets("KASA").Range("I1")

With ComboBox1
ComboBox1.Clear
    .AddItem "NAKİT"
    .AddItem "BANKA"
End With

With ComboBox4
ComboBox4.Clear
    .AddItem "PARA YATIRMA"
    .AddItem "PARA ÇEKME"
End With

Dim i As Integer, ii As Integer
    With ListView1
        .View = lvwReport
        .LabelEdit = lvwManual
        .FullRowSelect = True
        .ColumnHeaders.Clear
        .ListItems.Clear
        .LabelWrap = True
        .ColumnHeaders.Add , , "Sıra No", .Width / 21
        .ColumnHeaders.Add , , "Tarih", .Width / 14
        .ColumnHeaders.Add , , "Giriş/Çıkış", .Width / 16
        .ColumnHeaders.Add , , "Banka Adı", .Width / 1500
       
        .ColumnHeaders.Add , , "İşlem Türü", .Width / 1500
        .ColumnHeaders.Add , , "Fatura No", .Width / 15
        .ColumnHeaders.Add , , "Hesap Numarası", .Width / 1500
        .ColumnHeaders.Add , , "Giriş Şekli", .Width / 16
        .ColumnHeaders.Add , , "Gider Yeri", .Width / 12
        .ColumnHeaders.Add , , "Gider Türü", .Width / 6
        .ColumnHeaders.Add , , "Açıklama", .Width / 5
        .ColumnHeaders.Add , , "Alacak", .Width / 13
    
        .ColumnHeaders.Add , , "Borç", .Width / 13
        .ColumnHeaders.Add , , "Bakiye", .Width / 13
  
        Sh = Sheets("KASA").Name
        
        satirsay = Sheets("" & Sh).[a65000].End(3).Row
        
        If satirsay > 5 Then
        
          For i = 6 To Sheets("" & Sh).[a65000].End(3).Row
              Cells(i, 1) = i - 5
              .ListItems.Add , , Sheets("" & Sh).Cells(i, 1)
              For ii = 1 To 13
                  .ListItems(.ListItems.Count).SubItems(ii) = Sheets("" & Sh).Cells(i, ii + 1)
              Next
          Next
          
        End If
    End With
    
CommandButton1.Visible = False
CommandButton7.Visible = False
CommandButton4.Visible = False
CommandButton2.Visible = False
CommandButton10.Visible = False



    
End Sub
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
25-12-2029
Anemos Hocam

Gösterdiğiniz ilgi için çok teşekkür ederim kodlar çalışıyor yanlız Dosyadaki KASA shetinin N stünunda formül var sil tuşuna basdığımızda ordaki formül bozuluyor ve formüllerin olduğu hücrelerde hata veriyor neden olabilir hocam.
birde hocam değiştir butonu için ne yapabiliriz

not :hocam bu arada KASA shettindeki bilgiler 7. satırdan başlıyor 6. satır değil
SAĞLICAKLA KALIN
 
Son düzenleme:

Zeki Gürsoy

Uzman
Uzman
Katılım
31 Aralık 2005
Mesajlar
4,369
Excel Vers. ve Dili
Office 365 (64 bit) - Türkçe
İlaveler:
1- Satır silindğinde bozulmayacak ideal formül,
2- Değiştir işlevi sağlayan buton komutu,
3- Listeye alma sıra no 6 olarak düzenlendi.
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
25-12-2029
hocam

öncelikle emeğiniz için teşekkür ederim yanlız

1.ci olarak verileri KASA sayfasına 7. satırdan iti baren yazdırıyorum N6 stünuna kasa devir miktarını gireceğim A6 hücresinede "0" (sıfır) yazıyorum böylelikle ilk girişi formda kaydet tuşu ile yapınca 7 satırdan başlayarak verileri kaydetmeye başlıyorum n stünuna da formdaki kaydet butonu ile =N6+L7-M7 formülünü yazdırıp bakiye miktarını N stünunda gösteriyorum listwiev e de yine 7 satırdan itibaren (7. satırda dahil olmak üzere) aldırıyorum. Buraya kadar hepsi tamam.

kısacası yapmak istediğim listwiev in üzerinde tıkladığımız değerleri listwiev listesinin altındaki textboxlara aldırıyorum. sil butonuna bastığımızda o listview de işaretli satır KASA sayfasından olduğu gibi silinmesi lazım ayrıca ilgili satır silindikten sonra KASA sayfasındaki sıra no stünu yine 1 den başlayarak sıralanması lazım ve listwiev e tıkaldığımızda textboxlara gelen verilerden değişiklik yapmak istediğimiz veriyi o ilgili textboxda değişikliği yapıp değiştir butonuna bastığımızda KASA sayfasındaki sıra numarası değişmeden değişmesini istiyorum.

Biraz uzun oldu ama kusura bakmayın

Not: 1. mesajdaki ekli dosyamı güncelledim .
ilgilenen tüm arkadaşlarıma şimdiden teşekkür ederim.
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
25-12-2029
yardım edebilecek bir hocam varmı acaba ben formdaki bezer konuları kendime uyarlamaya çalıştım ama olmuyor sürekli ya bir yerde hata veriyor veya kod olması gereken gibi çalışmıyor rica etsem formdaki hocalarımdan.

Sağlıcakla Kalın
 

udentr2002

Altın Üye
Katılım
5 Kasım 2006
Mesajlar
1,503
Excel Vers. ve Dili
iş yerinde Office 365
evde Office 365
Altın Üyelik Bitiş Tarihi
25-12-2029
anemos hocam

göndermiş olduğunuz dosyadaki kodları kendi dosyama göre uyarlayıp sorunumu hallettim. göstermiş olduğunuz ilgi için çok teşekkür ederim. emeğinize ve ilginize teşekkür ederim.

sağlıcakla kalın
 
Üst