You can use the technique for an “undo” menu/toolbar option. Use a collection instead of a listbox to reduce overhead. Support for both LIFO and FIFO is also included:
Public Queue As New CollectionPublic Const Q_LIFO = 0Public Const Q_FIFO = 1 Public Sub Enqueue(QueueItem As Variant) Queue.Add QueueItemEnd Sub Public Function Dequeue(Optional Mode As Long) As Variant Dim Position as Long If Queue.Count > 0 Then If Mode = Q_LIFO Then Position = Queue.Count Else Position = 1 End If Dequeue = Queue(Position) Queue.Remove Position Else Dequeue = Null End IfEnd Function