title: Need to find a way to loop this macro through every other column
body: <p>I have written a macro that to return specific values in one cell based on a vlookup of the concatenated values of two other cells.  This macro may need to run in every other column for 30 columns.  Is there a way that I can loop this, so that I don't have to type out 30 variations?</p>
  
  <p>Here is the section of code that I am referencing:</p>
  
  <pre><code>Cells.Select
  ActiveWorkbook.Worksheets("Vendor Request").Sort.SortFields.Clear
  ActiveWorkbook.Worksheets("Vendor Request").Sort.SortFields.Add Key:=Range( _
      "F2:F" &amp; LR2), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
      xlSortNormal
  With ActiveWorkbook.Worksheets("Vendor Request").Sort
      .SetRange Range("A1:BK" &amp; LR2)
      .Header = xlYes
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
  End With
  If Cells(2, 6).Value &lt;&gt; "" Then
  Range("G2").Select
  ActiveCell.FormulaR1C1 = _
      "=CONCATENATE(""Example:  "",IF(ISNA(VLOOKUP(CONCATENATE(RC[-4],""; "",RC[-1]),'Sample Data'!C[-6]:C[-2],5,FALSE)),"""",VLOOKUP(CONCATENATE(RC[-4],""; "",RC[-1]),'Sample Data'!C[-6]:C[-2],5,FALSE)))"
  If Cells(3, 6).Value &lt;&gt; "" Then
  Range("G2").Select
  Selection.AutoFill Destination:=Range("G2:G" &amp; Range("F" &amp; Rows.Count).End(xlUp).Row)
  Else
  End If
  Columns("G:G").Select
  Selection.Copy
  Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
      :=False, Transpose:=False
  Else
  End If
  </code></pre>
  
  <p>Thanks in advance!</p>
  
  <p>Edit:  Finally got it working.  Here is what I ended up with:</p>
  
  <pre><code>Cells.Select
      ActiveWorkbook.Worksheets("Vendor Request").Sort.SortFields.Clear
      ActiveWorkbook.Worksheets("Vendor Request").Sort.SortFields.Add Key:=Columns( _
          j - 1), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
          xlSortNormal
      With ActiveWorkbook.Worksheets("Vendor Request").Sort
          .SetRange Range("A1:BK" &amp; LR2)
          .Header = xlYes
          .MatchCase = False
          .Orientation = xlTopToBottom
          .SortMethod = xlPinYin
          .Apply
      End With
      Dim LRj As Long
      With Sheets("Vendor Request")
      LRj = .Cells(.Rows.Count, j - 1).End(xlUp).Row
      End With
      If Cells(2, j - 1).Value &lt;&gt; "" Then
      Cells(2, j).Select
      ActiveCell.FormulaR1C1 = _
      "=CONCATENATE(""Example:  "",IF(ISNA(VLOOKUP(CONCATENATE(c3,""; "",C[-1]),'Sample Data'!c1:c6,5,FALSE)),"""",VLOOKUP(CONCATENATE(c3,""; "",C[-1]),'Sample Data'!c1:c6,5,FALSE)))"
      If Cells(3, j - 1).Value &lt;&gt; "" Then
      Cells(2, j).Select
      Selection.AutoFill Destination:=Range(Cells(2, j), Cells(LRj, j))
      Else
      End If
      Columns(j).Select
      Selection.Copy
      Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
          :=False, Transpose:=False
      Application.CutCopyMode = False
      Else
      End If
      Next j
  </code></pre>