Datumsbereich in Listbox über Array ???

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
UserForm ListBox TextBox
Bild

Betrifft: Datumsbereich in Listbox über Array ???
von: Peter
Geschrieben am: 09.03.2005 23:39:19
Hallo,
ich möchte einen best. Datumsbereich (heute bis heute vor 14 Tagen) in
eine Listbox einlesen ohne den Filter zu nutzen.
Mein Versuch die Sache über ein Array zu realisieren ist kläglich gescheitert.
Wer kann helfen?
Peter


Private Sub ListDatumsbereich()
   Dim arr()
   Dim Counter
   
   UserForm2.ListBox1.Clear
   Counter = 4
   Do Until IsEmpty(Cells(Counter, 1))
    
      If Cells(Counter, 1) >= Date - 14 And _
         Cells(Counter, 1) <= Date Then
         'ReDim Preserve arr(0 To lCounter)
         'arr = Cells(Counter, 1)
      End If
     Counter = Counter + 1
   Loop
 
 'UserForm2.ListBox1.List = arr
 'UserForm2ListBox1.ListIndex = 0
End Sub

Bild

Betrifft: AW: Datumsbereich in Listbox über Array ???
von: Josef Ehrensberger
Geschrieben am: 09.03.2005 23:56:12
Hallo Peter!
Wieso der Umweg über die Tabelle?
Geht doch z.B. auch so.

Private Sub ListDatumsbereich()
Dim lngC As Long
UserForm2.ListBox1.Clear
   For lngC = CDbl(Date - 14) To CDbl(Date)
   UserForm2.ListBox1.AddItem Format(lngC, "dd.mm.yyyy")
   Next
 
UserForm2.ListBox1.ListIndex = 0
End Sub


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Bild

Betrifft: AW: hab mich ungeschickt ausgedr -NEU Frage
von: Peter
Geschrieben am: 10.03.2005 00:31:54
Entschuldigung,
hab mich ungeschickt ausgedrückt.
In der Tabelle1, Spalte1 sind verschiedene Datumswerte.
Ich möchte nur die Datumswerte aus dem vorgesehenen Zeitraum (14 Tage)
suchen und in eine Listbox übernehmen.
Und später bei einen Klick auf einen dieser Datumswerte
z.B.
den Wert.offset(0,1)in UfrmTextfeld1 / den Wert.offset(0,2)in ufrmTextfeld2
übernehmen.
Dann würde ich schon weiterkommen.
Peter
Bild

Betrifft: AW: hab mich ungeschickt ausgedr -NEU Frage
von: Josef Ehrensberger
Geschrieben am: 10.03.2005 01:05:07
Hallo Peter!
In welchem Format liegen die Datumswerte vor?
Datum eingetragen oder per Formel ermittelt?

Gruß Sepp

P.S.: Rückmeldung nicht vergessen!


Bild

Betrifft: Eine Möglichkeit
von: Josef Ehrensberger
Geschrieben am: 10.03.2005 01:20:50
Hallo Peter!
Wenn das Datum in Spalte "A" ein "echtes" Datum ist, dann
würde ich das Datum suchen und von der Zeile der Fundstelle -14
bis zur Fundstelle, gleich alle drei Spalten in die Listbox einlesen.
Die Spalten 2 und 3 kann man durch einstellen der Spaltenbreite auf 0 ausblenden!
Beim Klickereignis, braucht man dann nicht lange in der Tabelle die entsprechende
Zeile suchen, sondern gleich die werte aus Spalte 2 und 3 in die Textfelder schreiben.
Z.B.:


      
Private Sub ListDatumsbereich()
Dim rng As Range
Dim arr As Variant
   
With UserForm2.ListBox1
   
   .ColumnCount = 3
   .ColumnWidths = 
"70;0;0"
   .Clear
   
   
Set rng = Range("A:A").Find(Date)
   
      
If Not rng Is Nothing Then
      arr = Range(Cells(rng.Row - 14, 1), Cells(rng.Row, 3))
      .List = arr
      
End If
    
   .ListIndex = 0
   
   
End With
End Sub
Private Sub ListBox1_Click()
   
With ListBox1
      
If .ListIndex > -1 Then
         TextBox1 = .List(.ListIndex, 1)  
'Wert aus Spalte 2
         TextBox2 = .List(.ListIndex, 2)  'Wert aus Spalte 3
      End If
   
End With
End Sub 

     Code eingefügt mit Syntaxhighlighter 3.0

Gruß Sepp

P.S.: Rückmeldung nicht vergessen!


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Datumsbereich in Listbox über Array ???"