I need to get around looping through arrays. I have to do this about 10 times per record on a page:<BR><BR>For iRowLoop = 0 to UBound(arrVolumes, 2)<BR> &#039;Get year and compare with year (y) from beginning loop<BR> tyear_ord = arrVolumes(tvol_yr_no_ord,iRowLoop)<BR> tloop_cidd = arrVolumes(tcidd_id_ord,iRowLoop) <BR> tloop_line = arrVolumes(tline_no_ord,iRowLoop)<BR> tyear_ord = CStr(tyear_ord)<BR> tloop_cidd = CStr(tloop_cidd)<BR> tloop_line = CStr(tloop_line)<BR> <BR> &#039;If there is a match, put vol total in fvol <BR> If ((tyear_ord = ty) AND (tloop_cidd = tloop_mcidd) AND (tloop_line = tloop_mline)) Then<BR> ffound = True<BR> fvol = arrVolumes(tvol_total_ord,iRowLoop)<BR> tbase_99_val = arrVolumes(tbase_99_ord,iRowLoop)<BR> tbase_prev_val = arrVolumes(tbase_prev_yr_ord,iRowLoop)<BR> End If<BR>Next<BR><BR>Basically, I have to find 3 parts of a record in an array based on 3 variables, (If ((tyear_ord = ty) AND (tloop_cidd = tloop_mcidd) AND (tloop_line = tloop_mline)) Then<BR>). Does anyone know a way to cheat this loop, basically to get around a loop if possible? Please let me know if you need anymore info.