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 ???"