2017-05-22 1 views
0

배열의 시간과 날짜 형식을 지정할 수 없다고 생각합니까? 그렇다면 ListBox의 열 형식을 어떻게 변경 하시겠습니까? 이것이 제가 작업하고있는 부분입니다. 하단에서 Array 또는 ListBox에 배열을 출력 한 후 날짜 및 시간 형식을 지정 하시겠습니까?

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 

나는 시험 Me.ListBox_History.Column(3, Me.ListBox_History.ListCount - 1) = Format("hh:mm")로이 비트를 추가하지만 포맷 대신 목록 상자의 1 행에서 hh:mm 표시하지 않습니다.

+0

그것은'형식 (Me.ListBox_History.Column (3, Me.ListBox_History.ListCount 수있다 :이 경우,

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

는 같은 열 물마루 cylce 수있는 작동하지 않습니다 - 1), "hh : mm"). 그것 tho 일하는 경우에 확실하지 않은. – UGP

+0

네, 방금 그걸 알아 냈고 작동합니다. 이제 특정 행 대신 범위로 만드는 방법을 찾으려고합니다. – Quint

답변

1

숫자가 아닌 경우 배열의 값을 형식화해야합니다. 시도 :

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

나는 배열 포매트를 어지럽 혀서 작동 시키려고 노력했다. 루핑은 트릭을했습니다. 당신의 도움을 주셔서 감사합니다. – Quint

관련 문제