title: Excel VBA set variable to select a range of cells in a specific worksheet
body: <p>I have been trying to run a script that goes through column C and trims out any spaces on the left or right of the text in the cell. When i run it I get a error regarding the set rr (ss, uu, vv as well when I try to run it). </p>
  
  <p>Here is where the debugger is finding the error "Run-time error '1004': Application-defined or object-defined error.</p>
  
  <pre><code>Set rr = Worksheets("EOD").Range(Cells(2, 3), Cells(100, 3))
  </code></pre>
  
  <p>I also included the full code below just in case that might provide better insight. I have worked with JS and PHP but VBA is confusing the hell out of me.</p>
  
  <p>Thank you in advance for any help you can provide.</p>
  
  <p>M</p>
  
  <pre><code>Sub Workbook_Open()
  Dim r As Range
  Dim s As Range
  Dim t As Range
  Dim u As Range
  Dim v As Range
  Dim a As Integer
  Dim b As Integer
  Dim c As Integer
  Dim d As Integer
  Dim e As Integer
  Dim rr As Range
  Dim ss As Range
  Dim tt As Range
  Dim uu As Range
  Dim vv As Range
  Set rr = Worksheets("EOD").Range(Cells(2, 3), Cells(100, 3))
  Set ss = Worksheets("9AM Report").Range(Cells(2, 3), Cells(100, 3))
  Set uu = Worksheets("1PM CST").Range(Cells(2, 3), Cells(100, 3))
  Set vv = Worksheets("3PM ST").Range(Cells(2, 3), Cells(100, 3))
  Set tt = Worksheets("11AM Report").Range(Cells(2, 3), Cells(100, 3))
  
  For Each r In rr
      r = Trim(r)
      a = a + 1
      If a = 199 Then Call RefreshAllPivotTables
      If a &gt; 200 Then End
  Next
  For Each s In ss
      s = Trim(s)
      b = b + 1
      If b = 199 Then Call RefreshAllPivotTables
      If b &gt; 200 Then End
  Next
  For Each t In tt
      t = Trim(t)
      c = c + 1
      If c = 199 Then Call RefreshAllPivotTables
      If c &gt; 200 Then End
  Next
  For Each u In uu
      u = Trim(u)
      d = d + 1
      If d = 199 Then Call RefreshAllPivotTables
      If d &gt; 200 Then End
  Next
  For Each v In vv
      v = Trim(v)
      e = e + 1
      If e = 199 Then Call RefreshAllPivotTables
      If e &gt; 200 Then End
  Next
  End Sub
  
  Sub RefreshAllPivotTables()
  
  Dim PT As PivotTable
  Dim WS As Worksheet
  
  For Each WS In ThisWorkbook.Worksheets
  
      For Each PT In WS.PivotTables
        PT.RefreshTable
      Next PT
  
  Next WS
  
  End Sub
  </code></pre>