To create a byte array with zero length do this
Dim abData() As Byte abData = vbNullString
There is no simple way to redimension a dynamic array that might have a zero length without risking a runtime error. The best you can do is as follows.
Dim abData() As Byte Dim nLen as Long ' Compute required length in bytes... nLen = ComputeLength() ' returns length, possibly zero If nLen > 0 Then ReDim Preserve abData(nLen - 1) Else abData = vbNullString End If