listveiw temizleme

Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
hayırlı sabahlar; hazırlanmış olan listview çalışma formu var. Textbox10 ile veri filtreleme yapıyorum. başka uygulamalarımda
Kod:
Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
TextBox1.Text = ""
End Sub
Textbox' ta çift tıkladığımda yazılan verileri silebiliyordum. Bu uygulamada bu işlemi yapamıyorum.Kullandığım makro
Kod:
Private Sub TextBox10_Change()
Dim sh As Worksheet, son As Long, deg As String, i As Long, sat As Long
Set sh = Sheets("muavin") 'listview' e alınacak sayfa ismi
son = Cells(Rows.Count, "a").End(3).Row 'son dolu hücre
Me.ListView1.ListItems.Clear
sat = 1
i = 1
For i = 3 To son 'sorgulanacak sütun
    deg = sh.Cells(i, "C").Value 'süzülecek sütun ismi
    deg = UCase(Replace(Replace(deg, "i", "İ"), "ı", "I"))
    If deg Like UCase(Replace(Replace("*" & TextBox10.Value & "*", "i", "İ"), "ı", "I")) Then
        ListView1.ListItems.Add , , Sheets(5).Cells(i, 1).Value 'veri alınacak safanın Sheets ismi
        ListView1.ListItems(sat).SubItems(1) = Sheets(5).Cells(i, 2).Value
        ListView1.ListItems(sat).SubItems(2) = Sheets(5).Cells(i, 3).Value
        ListView1.ListItems(sat).SubItems(3) = Sheets(5).Cells(i, 4).Value
        ListView1.ListItems(sat).SubItems(4) = Sheets(5).Cells(i, 5).Value
        ListView1.ListItems(sat).SubItems(5) = Sheets(5).Cells(i, 6).Value
        sat = sat + 1
    End If
Next
End Sub


Private Sub UserForm_Initialize()
With Me.ListView1
        .Gridlines = True
        .FullRowSelect = True
        .View = lvwReport
        .ListItems.Clear
        .ColumnHeaders.Clear
End With
With Me.ListView1.ColumnHeaders
        .Add , , "TARİH", 50
        .Add , , "bos", 0
        .Add , , "AÇIKLAMA", 180
        .Add , , "BORÇ", 40
        .Add , , "ALACAK", 40
        .Add , , "açıklama", 0
        '.Add , , "açıklama", 100
        '.Add , , "açıklama", 100
End With
For i = 1 To Sheets(5).Cells(60000, 1).End(3).Row
ListView1.ListItems.Add , , Sheets(5).Cells(i, 1).Value
ListView1.ListItems(i).SubItems(1) = Sheets(5).Cells(i, 2).Value
ListView1.ListItems(i).SubItems(2) = Sheets(5).Cells(i, 3).Value
ListView1.ListItems(i).SubItems(3) = Sheets(5).Cells(i, 4).Value
ListView1.ListItems(i).SubItems(4) = Sheets(5).Cells(i, 5).Value
ListView1.ListItems(i).SubItems(5) = Sheets(5).Cells(i, 6).Value
'ListView1.ListItems(i).SubItems(6) = Sheets(1).Cells(i, 7).Value
'ListView1.ListItems(i).SubItems(7) = Sheets(1).Cells(i, 8).Value
Next i
End Sub
 
Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
Kod:
Private Sub CommandButton2_Click()
Dim sil As Control
    For Each sil In UserForm1.Controls
        If TypeName(sil) = "TextBox" Then
            sil.Text = ""
        End If
    Next sil
End Sub
bu şekilde işlem buldum, uyguladım sonuç olumlu.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Kod:
Private Sub CommandButton2_Click()
Dim sil As Control
    For Each sil In UserForm1.Controls
        If TypeName(sil) = "TextBox" Then
            sil.Text = ""
        End If
    Next sil
End Sub
bu şekilde işlem buldum, uyguladım sonuç olumlu.
Siz listviewi silme yi sormuşsunuz ama bulduğunuz kodlar textboxı silme kodları.
Listviewi silme kodu zaten ilk yazdığınız kodda var.Bakın kırmızı yazılı olan satır.:cool:
Rich (BB code):
Private Sub TextBox10_Change()
Dim sh As Worksheet, son As Long, deg As String, i As Long, sat As Long
Set sh = Sheets("muavin") 'listview' e alınacak sayfa ismi
son = Cells(Rows.Count, "a").End(3).Row 'son dolu hücre
Me.ListView1.ListItems.Clear
 
Katılım
5 Eylül 2007
Mesajlar
1,247
Excel Vers. ve Dili
ofis 2010
Altın Üyelik Bitiş Tarihi
21-07-2024
Siz listviewi silme yi sormuşsunuz ama bulduğunuz kodlar textboxı silme kodları.
Listviewi silme kodu zaten ilk yazdığınız kodda var.Bakın kırmızı yazılı olan satır.:cool:
Rich (BB code):
Private Sub TextBox10_Change()
Dim sh As Worksheet, son As Long, deg As String, i As Long, sat As Long
Set sh = Sheets("muavin") 'listview' e alınacak sayfa ismi
son = Cells(Rows.Count, "a").End(3).Row 'son dolu hücre
Me.ListView1.ListItems.Clear
TextBox10 ile listeleme yapıyorum, yön tuşuyla silmek yerine command buton atayarak pratik silmek istemiştim. formu ilk açtığımda sorunsuz ilgili sayfayı yüklüyor, ancak ilk aramadan sonra sadece elli satırı gösteriyor, aramadan sonra da ilgili sayfanın tamamını nasıl gösterebiliriz.
 
Üst