excel vba - How to loop through a range while already looping through another range -
good day
i'm trying loop through range , while in range need loop through another.
although work, it'll give idea of i'm trying achieve:
' select cell m5, *first line of data*. range("m5").select ' set loop stop when empty cell reached. until isempty(activecell) strreg = activecell.value dtedate = activecell.offset(0, 1).value lngrate = activecell.offset(0, 2).value range("g5").select until blnfound or isempty(activecell) if activecell.value = strreg if activecell.offset(0, -3) <= dtedate , activecell.offset(0, -2) >= dtedate blnfound = true '... add more logic here end if end if ' step down 1 row present location. activecell.offset(1, 0).select loop ' step down 1 row present location. activecell.offset(1, 0).select loop
thanks taking time.
rob
here's quick implementation of loop starting off file looks this:
option explicit sub loopthroughvehicles() dim mysheet worksheet dim costrange range, invoicerange range, _ foundrange range, vehicle range dim lastrow long, costvehiclecol long, _ invoicevehiclecol long dim costdate date, startdate date, _ enddate date 'assign variables , ranges easy reference costvehiclecol = 13 'column m invoicevehiclecol = 7 'column g set mysheet = thisworkbook.worksheets("sheet1") mysheet lastrow = .range("m" & .rows.count).end(xlup).row end set costrange = range(mysheet.cells(lastrow, costvehiclecol), mysheet.cells(5, costvehiclecol)) mysheet lastrow = .range("g" & .rows.count).end(xlup).row end set invoicerange = range(mysheet.cells(lastrow, invoicevehiclecol), mysheet.cells(5, invoicevehiclecol)) 'search each vehicle each vehicle in costrange set foundrange = invoicerange.find(what:=vehicle.value, lookat:=xlwhole, matchcase:=false) 'if vehicle found, assign dates , compare if not foundrange nothing costdate = vehicle.offset(0, 1).value startdate = foundrange.offset(0, -3).value enddate = foundrange.offset(0, -2).value if costdate >= startdate , costdate <= enddate 'do stuff if cost date in date range msgbox ("cool, " & vehicle.value & " in date range!") else 'do other stuff if cost date not in date range msgbox ("uh oh, " & vehicle.value & " not in date range!") end if end if next vehicle end sub
Comments
Post a Comment