@@ -179,19 +179,21 @@ protected static Queue<FormulaRangeAddress> EnqueueMatchingAddresses(FormulaRang
179179 var pIx = int . MinValue ;
180180 var extRef = valueAddress . ExternalReferenceIx ;
181181 var wsIx = valueAddress . WorksheetIx ;
182+ FormulaRangeAddress currentAddress = null ;
182183 if ( valueAddress . FromCol == valueAddress . ToCol )
183184 {
184185 var c = valueAddress . FromCol ;
185186 foreach ( var ix in matchIndexes )
186187 {
187188 if ( ix == pIx + 1 )
188189 {
189- addresses . Peek ( ) . ToRow ++ ;
190+ currentAddress . ToRow ++ ;
190191 }
191192 else
192193 {
193194 var r = valueAddress . FromRow + ix ;
194- addresses . Enqueue ( new FormulaRangeAddress ( ) { ExternalReferenceIx = extRef , WorksheetIx = wsIx , FromRow = r , ToRow = r , FromCol = c , ToCol = c } ) ;
195+ currentAddress = new FormulaRangeAddress ( ) { ExternalReferenceIx = extRef , WorksheetIx = wsIx , FromRow = r , ToRow = r , FromCol = c , ToCol = c } ;
196+ addresses . Enqueue ( currentAddress ) ;
195197 }
196198 pIx = ix ;
197199 }
@@ -203,12 +205,13 @@ protected static Queue<FormulaRangeAddress> EnqueueMatchingAddresses(FormulaRang
203205 {
204206 if ( ix == pIx + 1 )
205207 {
206- addresses . Peek ( ) . ToCol ++ ;
208+ currentAddress . ToCol ++ ;
207209 }
208210 else
209211 {
210212 var c = valueAddress . FromCol + ix ;
211- addresses . Enqueue ( new FormulaRangeAddress ( ) { ExternalReferenceIx = extRef , WorksheetIx = wsIx , FromRow = r , ToRow = r , FromCol = c , ToCol = c } ) ;
213+ currentAddress = new FormulaRangeAddress ( ) { ExternalReferenceIx = extRef , WorksheetIx = wsIx , FromRow = r , ToRow = r , FromCol = c , ToCol = c } ;
214+ addresses . Enqueue ( currentAddress ) ;
212215 }
213216 pIx = ix ;
214217 }
0 commit comments