Busque un range de text, si lo encuentra, copie las celdas en otra parte de la spreadsheet

Soy nuevo en la creación de macros de Excel, así que no estoy seguro de cómo codificar esto. Básicamente, en la ejecución, quiero search un range de celdas (en este caso, A2-A25) para ciertos ranges de numbers (como 1700-1799, 2900-2999) y si se encuentran, copyrlos / orderarlos en otro lugar en el spreadsheet.

Por ejemplo, la hoja (después de la ejecución) se vería así:
1712
2983
2931
1723
1745

1712
1723
1745

2983
2931

¿Es posible una macro como esta?

Esto colocará los resultados en las columnas B y C :

Sub GetValues() Dim A As Range, r As Range Dim i As Long, j As Long Dim v As Long Set A = Range("A2:A25") i = 1 j = 1 For Each r In A v = r.Value If v >= 1700 And v <= 1799 Then Cells(i, "B").Value = v i = i + 1 End If If v >= 2900 And v <= 2999 Then Cells(j, "C").Value = v j = j + 1 End If Next r End Sub 

EDIT # 1 :

Esta versión almacena los resultados en la columna A comenzando en la fila # 30 y la fila # 50 …………….. modifíquelos para satisfacer sus necesidades:

 Sub GetValues() Dim A As Range, r As Range Dim i As Long, j As Long Dim v As Long Set A = Range("A2:A25") i = 30 j = 50 For Each r In A v = r.Value If v >= 1700 And v <= 1799 Then Cells(i, "A").Value = v i = i + 1 End If If v >= 2900 And v <= 2999 Then Cells(j, "A").Value = v j = j + 1 End If Next r End Sub 

EDIT # 2 :

Esta versión copy las filas enteras:

 Sub GetValues() Dim A As Range, r As Range Dim i As Long, j As Long Dim v As Long Set A = Range("A2:A25") i = 30 j = 50 For Each r In A v = r.Value If v >= 1700 And v <= 1799 Then r.EntireRow.Copy Cells(i, "A") i = i + 1 End If If v >= 2900 And v <= 2999 Then r.EntireRow.Copy Cells(j, "A") j = j + 1 End If Next r End Sub 

No necesita una macro, puede usar esta fórmula de matriz:

 =SMALL(IF(($A$1:$A$25>=1700)*($A$1:$A$25<=1799);$A$1:$A$25;"");ROW(A1)) 

escriba, por ejemplo en c1, y copie hacia abajo para get todos los valores.

Necesitas Ctrl Shift Enter para ingresar la fórmula

Dependiendo de su configuration regional, es posible que necesite replace ";" por ","