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 


Share the Post: