Como hacer que la macro color cortar y pegar llegue a 1000 filas

En la macro que se encuentra de cambia la celda de color a otra solo llega hasta 105 filas y requiero que llegue hasta la fila 100.

1 Respuesta

Respuesta
1

Se necesita más información, sobre todo, el código de la macro. No se de cuál macro hablas, pero algún parámetro le está indicando que trabaje con 105 filas en vez de 100. Podes indicarle cuántas filas querés que trabaje en función a otros datos, dejarlo estático en 100, o que se ingrese manualmente. Las opciones y combinaciones son muchísimas, sin información no podemos dar una buena solución.

Hola, la macro que se requiere que haga el recorrido hasta la columna 1000, esta solo llega hasta 100. Gracias

Sub PasarColor()
'copia celdas por su color
'Por.Dam
Application.ScreenUpdating = False
ufila = Range("B" & Rows.Count).End(xlUp).Row
For I = 1 To ufila
Cells(I, 2).Select
numcolor = ActiveCell.Interior.ColorIndex
Select Case numcolor
Case 6 '14 'verde corta y pega en la hoja2-B
'Range("B1").Select
Selection.Cut
'Range("A1").Select
'Sheets("Hoja1").Select
Range("A" & I).Select
ActiveSheet.Paste
Case 6 'amarillo copia y pega en la hoja2-E
Selection.Copy
'Sheets("Hoja1").Select
Range("B" & I).Select
ActiveSheet.Paste
Case 3
End Select
'Sheets("Hoja1").Select
Next
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub

Te digo lo primero, que la verdad que no entiendo el código. Lo subí a un módulo para que me muestre mejor el mismo, para que me diferencie las palabras claves (en azul) y los comentarios (en verde) a ver si podía entenderlo, pero no hubo caso, no se si es un error o así lo subiste de manera intencional, Pero tenes 2 "Case 6", un "Case 3" que no hace nada, y muchas líneas que serían códigos ejecutables, como comentarios, etc.

Por otro lado, no te explicas bien y me cambias los datos que estás buscando todo el tiempo. En el título dijiste que querías que llegue hasta las 1000 filas, y luego pusiste que recorre hasta la fila 105 pero que querías que llegue hasta la fila 100. Y también en un principio hablabas de filas y ahora de columnas. Lo que voy a hacer, es suponer que tu macro te llega hasta las 105 filas pero que vos queres que llegue hasta la 1000.
Al margen de esto, la parte principal de la macro se ejecuta en un bucle For, que comienza en la fila 1 y termina en el valor de la variable "ufila". Es decir, que el fin del código que estás ejecutando va a estar determinado por la variable "ufila".
Por otro lado, te voy a explicar qué hace la 5ta línea de código que dice: "ufila = Range("B" & Rows.Count).End(xlUp).Row".
Ésta línea es lo mismo que ir en la columna "B" hasta la última fila que tiene la planilla de excel (por ejemplo en el 2010 es la fila 1.048.576), y luego manteniendo apretado el "Ctrl", apretar la flecha para arriba. Esto te ubica en la última fila que tiene dato la columna "B" y le da ese valor a la variable "ufila".

Es decir, que si tenes datos hasta la fila 105, la variable "ufila" va a valer 105, y el bucle "For" que trabaja con todas esas celdas, va a terminar ahí.
Entonces ese bucle se ejecuta hasta el último dato de la columna "B". Eso también quiere decir, que si en dicha columna se le agregan por ejemplo 10 datos más, el bucle se adapta y va a trabajar hasta el último dato de nuevo, o sea, la fila 115 siguiendo con el ejemplo.
Ahora bien, si vos querés que el dato sea fijo en 1000, entonces podes borrar la 5ta línea de código "ufila = Range("B" & Rows.Count).End(xlUp).Row" y cambiar la siguiente que dice: 
For i = 1 To ufila
por esta otra:
For i = 1 To 1000
Así tu macro se va a ejecutar desde la fila 1 hasta la fila 1000, sin importar si hay o no datos, siempre va a hacer lo mismo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas