2017-05-22 1 views
0

Ich nehme an, dass die Formatierung von Zeit und Datum in einem Array nicht möglich ist? Wenn ja, wie würden Sie das Format einer Spalte in einer ListBox ändern? Dies ist der Teil, mit dem ich arbeite.Formatieren Sie Datum und Uhrzeit in einem Array oder nachdem Array in ListBox platziert wurde?

Private Sub TextBox_Search_Change() 
Select Case True 
Case OptionButton_User_Name.Value 
    temp = UCase(Me.TextBox_Search.Value) 
    Dim a() 
    Dim rngValues As Variant 
    With Sheets("ToolData") 
     rngValues = .Range("B2", .Range("B" & .Rows.Count).End(xlUp)).Resize(, 11).Value 
    End With 
    For i = 1 To UBound(rngValues, 1) 
     'Check columns B & F for matching values 
     If UCase(rngValues(i, 1)) Like "*" & temp & "*" Then 
         '(i, Colunm being searched) 
      'Store columns B, F & G for displaying in the ListBox 
      n = n + 1 
      ReDim Preserve a(1 To 8, 1 To n) 
         'ListBox (Colunms 1-...) 
      a(1, n) = rngValues(i, 1) 
      a(2, n) = rngValues(i, 2) 
      a(3, n) = rngValues(i, 5) 
      a(4, n) = rngValues(i, 6) 
      a(5, n) = rngValues(i, 7) 
      a(6, n) = rngValues(i, 8) 
      a(7, n) = rngValues(i, 9) 
      a(8, n) = rngValues(i, 10) 
     'ListBox = rngValues(B,+Colunms on sheet) 
     End If 
    Next 
    'If anything found, replace the ListBox contents. Otherwise leave it as it was. 
    If n > 0 Then 
     Me.ListBox_History.Column = a 
     Me.ListBox_History.Column(3, Me.ListBox_History.ListCount - 1) = Format("hh:mm") 
    End If 

Case Else 

Am Boden habe ich dieses Bit als Test Me.ListBox_History.Column(3, Me.ListBox_History.ListCount - 1) = Format("hh:mm") Aber es nicht formatiert und zeigt stattdessen hh:mm in Zeile 1 der List-Box.

+0

Es muss 'Format (Me.ListBox_History.Column (3, Me.ListBox_History.ListCount - 1), "hh: mm") '. Nicht sicher, ob es funktioniert. – UGP

+0

Ja, ich habe das gerade herausgefunden und es funktioniert. Jetzt versuche ich herauszufinden, wie man eine Reihe statt einer bestimmten Reihe machen kann. – Quint

Antwort

1

Es sollte also funktionieren, Werte in einem Array zu formatieren, wenn sie keine Zahlen sind. Versuchen:

a(1, n) = Format(rngValues(i, 1), "hh:mm") 

Wenn dies nicht funktioniert, Sie die Spalte so Trog cylce könnte:

With ListBox1 
For i = 0 To .ListCount - 1 
    .List(i, 0) = (Format(.List(i, 0), "hh:mm")) 
Next i 
End With 
+0

Ich habe versucht, mit dem Array-Format etwas herumzualbern und konnte es nicht zum Laufen bringen. Looping hat es aber geschafft. Danke für Ihre Hilfe. – Quint

Verwandte Themen