I've been trying to figure out how to do this for about 2 weeks now. I've got a VB program that inserts blocks via blockreference. After all the blocks are in place, I want to explode them. It works if I put in an .explode and .delete command after each and blockref insertion. I'd rather have a function that comes in after all the blocks are placed and explode them. Here is some of the code I have for insertion Dim BlockReference As AcadBlockReference Dim InputPoint(0 To 2) As Double 'insert basic cabinet InputPoint(0) = 147.59871 InputPoint(1) = 47.479348 Set BlockReference = ThisDrawing.ModelSpace.InsertBlock(InputPoint, "steri93basic.dwg", 1#, 1#, 1#, 0#) Now here is the function I wrote to explode all the blocks. I keep getting a type mismatch with this set up I can't figure out how to get rid of... Private Sub Explode() Dim BlockReference As AcadBlockReference Dim i As Integer Dim scount As Integer scount = ThisDrawing.Blocks.count - 1 ReDim ExpObj(0 To scount) As Variant For Each BlockReference In ThisDrawing.ModelSpace ExpObj(i) = BlockReference.Explode BlockReference.Delete i = i + 1 Next End Sub Any suggestions would be greatly appreciated! Rich