title: Using Sort in VBA for a Range that Changes
body: <p>I have a range of cells in VBA that changes each time the code is run. I am trying to write code so that this range is sorted by column F.</p>
  
  <p>The problem I am having is that it can only be this specific range of cells. There are other cells underneath this range that I do not want sorted, and this range changes in size. Part of the code is below. This is what I have tried so far with no luck.</p>
  
  <pre><code>Range(Selection, Selection.End(xlToRight)).Select
  Range(Selection, Selection.End(xlDown)).Select
  
  vtools = Selection
  
  ActiveWorkbook.Worksheets("Exceptions Weekly Summary").Sort.SortFields.Add Key _
      :=Range(vtools), SortOn:=xlSortOnValues, Order:=xlAscending, _
      DataOption:=xlSortNormal
  With ActiveWorkbook.Worksheets("Exceptions Weekly Summary").Sort
      .SetRange Range("B11:H14")
      .Header = xlGuess
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
  End With
  </code></pre>
  
  <p>This does not work.</p>
  
  <p>I cannot directly reference the cells (I cannot use Range("F2:F5") for example) because these cells are in different places each time the code is run. I know how to find what I need sorted, and even select it, but I am having trouble telling the sort function which column to sort by.</p>
  
  <p>Can someone help me with this? Thank you so much in advance!</p>