Copy filtered data to another sheet using VBA
<p>I have two sheets. One has the complete data and the other is based on the filter applied on the first sheet. </p>

<p>Name of the data sheet : <code>Data</code><br>
Name of the filtered Sheet : <code>Hoky</code></p>

<p>I am just taking a small portion of data for simplicity.  MY objective is to copy the data from Data Sheet, based on the filter.  I have a macro which somehow works but its hard-coded and is a recorded macro. </p>

<p>My problems are:</p>

<ol>
<li>The number of rows is different everytime. (manual effort)  </li>
<li>Columns are not in order. </li>
</ol>

<p><a href="https://i.stack.imgur.com/lXflM.png" rel="noreferrer"><img src="https://i.stack.imgur.com/lXflM.png" alt="enter image description here"></a>
<a href="https://i.stack.imgur.com/fS8EY.png" rel="noreferrer"><img src="https://i.stack.imgur.com/fS8EY.png" alt="enter image description here"></a></p>

<pre><code>Sub TESTTHIS()
'
' TESTTHIS Macro
'
'FILTER
Range("F2").Select
Selection.AutoFilter
ActiveSheet.Range("$B$2:$F$12").AutoFilter Field:=5, Criteria1:="hockey"

'Data Selection and Copy
Range("C3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Hockey").Select
Range("E3").Select
ActiveSheet.Paste

Sheets("Data").Select
Range("D3").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Hockey").Select
Range("D3").Select
ActiveSheet.Paste

Sheets("Data").Select
Range("E3").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Hockey").Select
Range("C3").Select
ActiveSheet.Paste

End Sub
</code></pre>