Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

listboxen füllen

listboxen füllen
28.11.2019 13:48:22
Thomas
Hallo Excelfreunde,
mit dem diesem Macro,
Sub DatumSuchen()
Dim i
Dim lngIndex  As Long
Dim lngCount  As Long
ListBox1.Clear
ListBox1.ColumnCount = 2
With ThisWorkbook.Worksheets(1)
lngCount = ThisWorkbook.Worksheets(1).UsedRange.Rows.Count
For lngIndex = 2 To lngCount
If Day(.Cells(lngIndex, 1).Value) = monatsuche.tbtag.Text And _
Month(.Cells(lngIndex, 1).Value) = monatsuche.tbMonat.Text And _
Year(.Cells(lngIndex, 1).Value) = monatsuche.tbJahr.Text Then
ListBox1.AddItem
ListBox1.List(ListBox1.ListCount - 1, 0) = .Cells(lngIndex, 4).Value
ListBox1.List(ListBox1.ListCount - 1, 1) = .Cells(lngIndex, 4).Value
End If
Next
End With
End Sub
bekommt man gefilterte Daten ( Tag, Monat und Jahr ) in eine Listbox dargstellt.
Mit einer Listbox klappt dies auch soweit. Ich möchte jedoch mehrere Listboxen auf einmal füllen ( immer um ein Tag versetzt.
mein derzeitiger versuch sieht so aus:
Dim lngIndex As Long
Dim lngCount As Long
Dim objControl As Control
Dim objUF As Object
'ListBox1.Clear
'ListBox1.ColumnCount = 2
' textboxen und Listboxen leeren
'----------------------------------
Dim i As Integer
If TypeName(objControl) = "ListBox" Then
objControl.Clear
End If
'-----------
With ThisWorkbook.Worksheets(1)
lngCount = ThisWorkbook.Worksheets(1).UsedRange.Rows.Count
For lngIndex = 1 To lngCount
For i = 1 To 7
If Day(.Cells(lngIndex, 1).Value) = monatsuche.tbtag.Text And _
Month(.Cells(lngIndex, 1).Value) = monatsuche.tbMonat.Text And _
Year(.Cells(lngIndex, 1).Value) = monatsuche.tbJahr.Text Then
'Controls("Listbox" & i).List = "" '
Controls("Listbox" & i).ColumnCount = 2
Controls("Listbox" & i).AddItem
Controls("Listbox" & i).ListCount = ThisWorkbook.Worksheets(1).Cells(lngIndex, 3).Value
Controls("Listbox" & i).ListCount = ThisWorkbook.Worksheets(1).Cells(lngIndex, 4).Value
Next
End With
End Sub
ich komme einfach nicht weiter damit. Egal was ich versuche es klappt einfach nicht.
Kann sich dies mal jemand von euch anschauen?
https://www.herber.de/bbs/user/133474.xls
habt schon mal rechtvielen dank für euer Interesse.
mfg thomas

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: listboxen füllen
28.11.2019 13:59:55
Hajo_Zi
Hallo Thomas,
der Code kann niemals gelaufen sein.
Debbugen.

AW: listboxen füllen
28.11.2019 14:40:22
Nepumuk
Hallo Thomas,
teste mal:
Option Explicit

Private mblnEvent As Boolean

Private Sub test_fuellen()
    
    Dim lngRow As Long
    Dim lngIndex As Long
    Dim dtmDate As Date
    
    If IsNumeric(tbJahr.Text) And IsNumeric(tbMonat.Text) And IsNumeric(tbtag.Text) Then
        
        dtmDate = DateSerial(Cint(tbJahr.Text), Cint(tbMonat.Text), Cint(tbtag.Text)) - 1
        
        With ThisWorkbook.Worksheets(1)
            
            For lngIndex = 1 To 7
                
                dtmDate = dtmDate + 1
                
                Controls("ListBox" & lngIndex).ColumnCount = 2
                Call Controls("ListBox" & lngIndex).Clear
                
                For lngRow = 1 To ThisWorkbook.Worksheets(1).UsedRange.Rows.Count
                    
                    If .Cells(lngRow, 1).Value = dtmDate Then
                        
                        Call Controls("ListBox" & lngIndex).AddItem
                        Controls("ListBox" & lngIndex).List(Controls("ListBox" & lngIndex _
                            ).ListCount - 1, 0) = .Cells(lngRow, 3).Value
                        Controls("ListBox" & lngIndex).List(Controls("ListBox" & lngIndex _
                            ).ListCount - 1, 1) = .Cells(lngRow, 4).Value
                        
                    End If
                Next
            Next
        End With
    End If
End Sub

'

Private Sub DatumSuchen()

'
' Dim lngIndex As Long
' Dim lngCount As Long
' Dim dtmDate As Date
'
' dtmDate = DateSerial(CInt(tbJahr.Text), CInt(tbMonat.Text), CInt(tbtag.Text))
'
' ListBox1.ColumnCount = 2
' Call ListBox1.Clear
'
' With ThisWorkbook.Worksheets(1)
'
' For lngIndex = 2 To ThisWorkbook.Worksheets(1).UsedRange.Rows.Count
'
' If .Cells(lngIndex, 1).Value = dtmDate Then
'
' Call ListBox1.AddItem
' ListBox1.List(ListBox1.ListCount - 1, 0) = .Cells(lngIndex, 3).Value
' ListBox1.List(ListBox1.ListCount - 1, 1) = .Cells(lngIndex, 4).Value
'
' End If
' Next
' End With
'End Sub

Private Sub CommandButton1_Click()
    Call test_fuellen
End Sub

Private Sub tbJahr_Change()
    If Not mblnEvent Then Call test_fuellen
End Sub

Private Sub tbMonat_Change()
    If Not mblnEvent Then Call test_fuellen
End Sub

Private Sub tbtag_Change()
    If Not mblnEvent Then Call test_fuellen
End Sub

Private Sub UserForm_Initialize()
    mblnEvent = True
    tbtag.Value = "6"
    tbMonat.Value = "6"
    tbJahr.Value = "2013"
    Call test_fuellen
    mblnEvent = False
End Sub

Gruß
Nepumuk
Anzeige
coool, besten dank an Nepumuk
28.11.2019 15:46:41
Thomas
Hallo Nepumuk,
der Code funktioniert tadellos.
Hab riesen dank für deine Hilfe. Da habe ich mich schon seit drei Tagen dran versucht.
Perfekt.
Hajo auch dir besten dank das du dir dies angeschaut hast.
mfg thomas

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige