'--------------------------------------------------'' The CQUEUE class' Dim qu As New CQueue'' ' enqueue to items to the queue' qu.Enqueue 1234' qu.Enqueue 5678' ' display number of elements in the queue' Debug.Print "Count = " & qu.Count' ' peek at the element about to be read' Debug.Print "Peek = " & qu.Peek' ' print the elements in the queue while removing them' Do While qu.Count' Debug.Print "next item = " & qu.Dequeue' Loop'--------------------------------------------------' this is the collection that holds the valuesDim colValues As New Collection' add a new value to the queueSub Enqueue(value As Variant) colValues.Add valueEnd Sub' read the next value from the queue and remove it' raises and error if the queue is emptyFunction Dequeue() As Variant Dequeue = colValues.Item(1) colValues.Remove 1End Function' Return the next value from the queue, without removing it' raise error if queue is emptyFunction Peek() As Variant Peek = colValues.Item(1)End Function' Return the number of values in the queueFunction Count() As Long Count = colValues.CountEnd Function' clear the queueSub Clear() Set colValues = New CollectionEnd Sub