Entonces, por ejemplo, estoy trabajando con datos que pertenecen a información diversa para los clientes en columnas que contienen varios fragmentos sobre ellos. Y continúa con miles de clientes. Ahora necesito dividir las filas en grupos de 400 y asignarlas en nuevas hojas de cálculo para poder cargarlas en un software de mensajes de texto y poder enviar actualizaciones y otras campañas.
Name | email| Phone Guy [email protected] 50230
¿Existe alguna forma eficiente de hacer esto? Normalmente lo hago manualmente y me desplazo hacia abajo hasta llegar a 400 y luego selecciono el resto de las columnas. Pero eso suele llevar bastante tiempo. ¿Algún consejo?
Respuesta1
A menos que ya haya un grupo distinto de 400, marcado por algo así como un espacio vacío, creo que es difícil encontrar una función integrada para esta tarea específica.
Sin embargo, puedes crear el tuyo propio usando macros.
Entonces, si entiendo su ejemplo correctamente, selecciona en la celda, luego baja 400 filas y las selecciona todas, más dos columnas más. La forma más sencilla de hacerlo en una macro debería ser esta:
Sub select400()
selection.Resize(400, 3).Select
End Sub
Luego puede asignar un acceso directo a esta macro, yendo a la ventana de macro y a las opciones, o con la ayuda de otra macro.
Pero ¿qué pasa si no quieres una cantidad determinada de filas o columnas?
Luego podrías reemplazar los valores absolutos con cuadros de entrada y variables, algo como esto:
Sub select400()
Dim inpRows As Long, inpColumns As Long
inpRows = InputBox("How many rows to select?")
inpColumns = InputBox("How many columns to select?")
selection.Resize(inpRows, inpColumns).Select
End Sub
Aunque como tiene InputBox, debería tener un manejo de errores adecuado. Se bloqueará si se escribe algo extraño (o nada en absoluto) en los cuadros.
Muestra:
También ejecuté esto primero:
Sub setShortcut()
Application.OnKey "%{s}", "select400"
End Sub
Para configurar mi macro para que se ejecute cuando presiono ALT + s
También puede ampliar aún más la automatización haciendo que la macro encuentre 400, corte una nueva hoja de trabajo/libro de trabajo y luego continúe con hojas nuevas hasta que se quede sin datos.
Es un poco más técnico, pero se puede hacer con uno o dos bucles.