title: selection of multiple columns with end(xlDown).End(xlUp).Row
body: <p>I'm doing debug for a VBA template.
  The Macro let users choose a excel file to import, then it will check each columns whether they correpond the requirements.
  When I try to import a file, I alway get error "oveeflow" with the following line:</p>
  
  <pre><code>'maxRow = ws.Range(Cells(StartRow, AdditionalInfoColumns.OtherInfo).Address).End(xlDown).Row
  </code></pre>
  
  <p>My colleague tells me that I just need to add end(xlDown).End(xlup) like this:</p>
  
  <pre><code>maxRow = ws.Range(Cells(StartRow, AdditionalInfoColumns.OtherInfo).Address).End(xlDown).End(xlDown).End(xlUp).Row
  </code></pre>
  
  <p>And it does work! I don't know why. So I try to do it in a simpler way as following:  </p>
  
  <pre><code>maxRow = ws.Range(Cells(StartRow, 1).Address, Cells(StartRow, 3).Address).End(xlDown).End(xlUp).Row
  </code></pre>
  
  <p>It works as well.
  Can someone please explain why does it work? Thank you for your answer.
  PS: The value of xlDown and xlUp are -4121 and -4162.</p>
  
  <p>Best Regards
  Kai </p>