--- module code
Option Explicit
Sub showing_form_listview()
UserForm1.Show
End Sub
Function xlLastRow(Optional WorksheetName As String) As Long
If WorksheetName = vbNullString Then
WorksheetName = ActiveSheet.Name
End If
With Worksheets(WorksheetName)
xlLastRow = .Cells.Find("*", .Cells(1), xlFormulas, _
xlWhole, xlByRows, xlPrevious).Row
End With
End Function
--- End module code
--- userform code
Option Explicit
Private Sub UserForm_Initialize()
Dim startrow As Integer
Dim endrow As Integer
Dim pos As Integer
Dim lv_item As Integer
Dim counting As Integer
startrow = 2
endrow = xlLastRow("Data")
pos = 2
lv_item = 1
With ListView1
.View = lvwReport
With .ColumnHeaders
.Clear
.Add , , "Client", 85
.Add , , "Invoice date", 60
.Add , , "Due date", 60
.Add , , "Amount", 65
.Add , , "Date payment", 60
.Add , , "Amount due", 65
End With
.HideColumnHeaders = False
.Appearance = cc3D
.FullRowSelect = True
For counting = startrow To endrow
If Worksheets("Data").Range("C" & pos).Value < Date And Worksheets("Data").Range("F" & pos).Value > 0 Then
.ListItems.Add , , Worksheets("Data").Range("A" & pos)
.ListItems(lv_item).ForeColor = RGB(255, 0, 0)
.ListItems(lv_item).ListSubItems.Add , , FormatDateTime(Worksheets("Data").Range("B" & pos), vbGeneralDate)
.ListItems(lv_item).ListSubItems.Item(1).ForeColor = RGB(255, 0, 0)
.ListItems(lv_item).ListSubItems.Add , , FormatDateTime(Worksheets("Data").Range("C" & pos), vbGeneralDate)
.ListItems(lv_item).ListSubItems.Item(2).ForeColor = RGB(255, 0, 0)
.ListItems(lv_item).ListSubItems.Add , , FormatCurrency(Worksheets("Data").Range("D" & pos))
.ListItems(lv_item).ListSubItems.Item(3).ForeColor = RGB(255, 0, 0)
If Worksheets("Data").Range("E" & pos) <> vbNullString Then
.ListItems(lv_item).ListSubItems.Add , , FormatDateTime(Worksheets("Data").Range("E" & pos), vbShortDate)
.ListItems(lv_item).ListSubItems.Item(4).ForeColor = RGB(255, 0, 0)
Else
.ListItems(lv_item).ListSubItems.Add , , Worksheets("Data").Range("E" & pos)
.ListItems(lv_item).ListSubItems.Item(4).ForeColor = RGB(255, 0, 0)
End If
.ListItems(lv_item).ListSubItems.Add , , FormatCurrency(Worksheets("Data").Range("F" & pos))
.ListItems(lv_item).ListSubItems.Item(5).ForeColor = RGB(255, 0, 0)
Else
.ListItems.Add , , Worksheets("Data").Range("A" & pos)
.ListItems(lv_item).ForeColor = RGB(0, 0, 0)
.ListItems(lv_item).ListSubItems.Add , , FormatDateTime(Worksheets("Data").Range("B" & pos), vbGeneralDate)
.ListItems(lv_item).ListSubItems.Item(1).ForeColor = RGB(0, 0, 0)
.ListItems(lv_item).ListSubItems.Add , , FormatDateTime(Worksheets("Data").Range("C" & pos), vbGeneralDate)
.ListItems(lv_item).ListSubItems.Item(2).ForeColor = RGB(0, 0, 0)
.ListItems(lv_item).ListSubItems.Add , , FormatCurrency(Worksheets("Data").Range("D" & pos))
.ListItems(lv_item).ListSubItems.Item(3).ForeColor = RGB(0, 0, 0)
If Worksheets("Data").Range("E" & pos) <> vbNullString Then
.ListItems(lv_item).ListSubItems.Add , , FormatDateTime(Worksheets("Data").Range("E" & pos), vbShortDate)
.ListItems(lv_item).ListSubItems.Item(4).ForeColor = RGB(0, 0, 0)
Else
.ListItems(lv_item).ListSubItems.Add , , Worksheets("Data").Range("E" & pos)
.ListItems(lv_item).ListSubItems.Item(4).ForeColor = RGB(0, 0, 0)
End If
.ListItems(lv_item).ListSubItems.Add , , FormatCurrency(Worksheets("Data").Range("F" & pos))
.ListItems(lv_item).ListSubItems.Item(5).ForeColor = RGB(0, 0, 0)
End If
lv_item = lv_item + 1
pos = pos + 1
Next counting
End With
End Sub
--- End of userform code
|