Listview Sortieren, mal geh'ts mal nicht ?
k
Habe 2 Userformen. Habe in der 1ersten ein Listview-Feld eingesetzt und alles klappt hervorragend.
Hier der Code:
'##########################################################
' Listview-Projekte - Click Anpassung der Anzeige '
'##########################################################
' Spaltenbreiten der ListView optimal einstellen ! '
Private Sub LVColumnWidth(oListView As MSComctlLib.ListView, _
Optional AccountForHeaders As Boolean = False)
On Error GoTo error
If AccountForHeaders Then
LParm = LVSCW_AUTOSIZE_USEHEADER
Else
LParm = LVSCW_AUTOSIZE
End If
For col = 0 To oListView.ColumnHeaders.Count - 1
SendMessage oListView.hWnd, LVM_SETCOLUMNWIDTH, _
col, ByVal LParm
Next col
Exit Sub
error:
End Sub
' Listview mit Datensätzen des Kunden aus ATE befüllen '
Private Sub Fülle_Listview(Optional varFilter As Variant = 0)
' Daten in PBE als Range behandeln
With Sheets("ATE")
Set Bereich = .UsedRange
meArray = Bereich
End With
With ListView1
If .ColumnHeaders.Count
' Reaktion auf Clicks in Listview
Private Sub ListView1_Click()
' Anzeige der Zähler markierter Listview-Einträge
On Error Resume Next
TB154 = SendMessage(ListView1.hWnd, CLng(&H1032), 0&, 0&)
Call RechneMitListView(ListView1)
End Sub
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
If ColumnHeader.Index = 2 Then
ListView1.SortKey = ColumnHeader.Index
Else
ListView1.SortKey = ColumnHeader.Index - 1
End If
ListView1.SortOrder = IIf(ListView1.SortOrder = lvwAscending, lvwDescending, _
lvwAscending)
End Sub
'#############################################################
Private Sub RechneMitListView(objListView As Control)
Dim myAr2() As Double
ii = 0
With objListView
If Not .SelectedItem Is Nothing Then
For i = 1 To ListView1.ListItems.Count
If ListView1.ListItems(i).Selected Then
If IsNumeric(ListView1.ListItems(i).SubItems(1)) Then
ReDim Preserve myAr2(ii)
myAr2(ii) = CDbl(ListView1.ListItems(i).SubItems(1))
ii = ii + 1
End If
End If
Next i
On Error Resume Next
With Application.WorksheetFunction
TB157.Text = Format(.Sum(myAr2), "#,##0 ") 'Summe
TB156.Text = ii ' Anzahl
End With
Else
TB157.Text = "" 'Summe
TB156.Text = "" 'Anzahl
End If
End With
End Sub
Private Sub CommandButton1_Click()
On Error Resume Next
With ListView1
.SelectedItem.Selected = False
Set .SelectedItem = Nothing
RechneMitListView ListView1
End With
End Sub
Da gleiche nun in der 2'ten Form eingesetzt (Copy und Paste) - klappt nicht ?
Anzeige ja, aber Dpl_Click auf Header der Listview - passiert garnicht.
Gehe ich Schritt für Schritt den Code (Haltemodus) durch scheint aber alles super zu sein, richtige Anzeige.
Woran kann es liegen ?
Gruß
Kay