excel - Reducing Lines of Code in VBA -


i repeatedly performing action on multiple columns, , eliminate redundant code. posting code first 2 columns believe enough demonstrate doing, code repeated total of 16 columns (column e - column t).

oldplayerrosterlocation offset "vba vlookup" old player find on sheet proper row stats modified needed. works, reduce redundant code.

'below determines weeks old player has played. 'first part replaces team win/loss week value instead of 'formula second part not ruin sheet. if range("e61") = "1" 'wk#1 range("e42").value = range("e62") range("e43").value = range("e63") 'second part clears weekly results new player each weeks  'old player has played. range(oldplayerrosterlocation).offset(0, 3).clearcontents range(oldplayerrosterlocation).offset(1, 3).clearcontents range(oldplayerrosterlocation).offset(2, 3).clearcontents end if  if range("f61") = "1" 'wk#2 range("f42").value = range("f62") range("f43").value = range("f63") range(oldplayerrosterlocation).offset(0, 4).clearcontents range(oldplayerrosterlocation).offset(1, 4).clearcontents range(oldplayerrosterlocation).offset(2, 4).clearcontents end if 

how can simplify code?

i'd sure use 16 columns:

dim c range  each c in range("e61:t61")   if c = "1"     c.offset(-19, 0).value = c.offset(1, 0).value     c.offset(-18, 0).value = c.offset(2, 0).value     j = 0 2       range(oldplayerrosterlocation).offset(j, c.column - 2).clearcontents     next   end if next 

c range object (a cell in case). use for each ... in instead of for ... to.
c.column gives column number of c. when subtract 2, number of columns offset, want clearcontents.


Popular posts from this blog