Error al agregar una fila

Tengo el siguiente código:

Sub prueba_Click()
Sheets("Hoja1").Select
Range("u3").Select
lista = 1
'contador numero correlativo
fila = 3
'contador de la fila vacía
Do While ActiveCell <> ""
        Selection.Offset(1, 0).Select
        lista = lista + 1
        fila = fila + 1
Loop
        Range(Cells(fila, 21), Cells(fila, 23)).Select
'selecciona la fila donde iran los datos
        Selection.Insert Shift:=xlDown
'agrega celdas para introducir los datos
        ActiveCell = lista
        Selection.Offset(0, 1) = 1
        Selection.Offset(0, 2) = 2
End Sub

el problema es que me copia la ultima celda 2 veces :(

1 Respuesta

Respuesta
1

Mejor explícame qué quieres hacer.

Dime qué tienes y qué esperas de resultado, explica con imágenes y ejemplos.

Mira tengo la planilla por, que debo automatizar. Tengo un botón que es un formulario que pide datos para la columna 22 y 23, la columna 21 tiene un contador que me da el numero correlativo automático.

Mi drama comienza cuando ingreso los datos del formulario, creé una macro que busca la celda vacía, selecciona 3 columnas U, V y W (21,22,23) y aplica ctrl+ y adiciona celdas en la columna esto dado que tengo una fila que tiene los totales, osea si agrego un dato n° 7 la fila con los totales se va la fila 11 y luego ingresa los datos. Esta es:

Sub prueba_Click()
Sheets("Hoja1").Select
Range("u3").Select
lista = 1
'contador numero correlativo
fila = 3
'contador de la fila vacía
Do While ActiveCell <> ""
        Selection.Offset(1, 0).Select
        lista = lista + 1
        fila = fila + 1
Loop
        Range(Cells(fila, 21), Cells(fila, 23)).Select
'selecciona la fila donde iran los datos
        Selection.Insert Shift:=xlDown
'agrega celdas para introducir los datos
        ActiveCell = lista
        Selection.Offset(0, 1) = 1
        Selection.Offset(0, 2) = 2
End Sub

el problema es que cuando doy a ingresar a los datos se me duplica el ultimo dato 2 veces.

Lo he revisado y no se que podría estar pasando :(

ayuda

Prueba así

Sub prueba_Click()
    Sheets("Hoja1").Select
    lista = 1
    'contador numero correlativo
    fila = 3
    'contador de la fila vacía
    Do While Cells(fila, "U") <> ""
        lista = lista + 1
        fila = fila + 1
    Loop
    'agrega las celdas
    Range(Cells(fila, "U"), Cells(fila, "W")).Insert Shift:=xlDown
    'introducir los datos
    Cells(fila, "U").Value = lista
    Cells(fila, "V").Value = 1
    Cells(fila, "W").Value = 2
End Sub


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas