I think you'll have to load the array using a loop:
Sub GetMeterCode()
Dim ws As Worksheet
Dim val As Integer, LR As Integer, rowsTotal As Integer
Dim rngArray(), i As Long
Dim rngTemp As Range
Set ws = Workbooks("ChooseMeterCode_Ver02.xls").Worksheets("first")
val = UserForm1.txtb1.Value
MsgBox " The export code value is : " & val
ws.Range("A5:C5").Select
Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="=" & val
LR = ws.Range("A" & Rows.Count).End(xlUp).Row
'Set rngTemp = ws.Range("A5:C5").AutoFilter(Field:=3, Criteria1:="=" & val)
rowsTotal = ws.Range("A5:A" & LR).SpecialCells(xlCellTypeVisible).Count - 1
ReDim rngArray(1)
MsgBox "The filtered row numbers are: " & rowsTotal
For i = 6 To LR
If Not Cells(i, "A").EntireRow.Hidden Then
ReDim Preserve rngArray(UBound(rngArray) + 1)
rngArray(UBound(rngArray)) = Cells(i, "A")
End If
Next
For i = 2 To UBound(rngArray)
MsgBox "Values from array are : " & rngArray(i)
Next i
ws.AutoFilterMode = False
End Sub
Bookmarks