Para una macro que estoy realizando me pueden colaborar?

Da ese error y no me ejecuta la Macro.

1 respuesta

Respuesta
1

En mis pruebas ese código no da error. Si la hoja estuviese protegida si te indicaría un error (tipo 1004) por no poder pegar en el nuevo destino.

Debieras dejar una imagen de tu hoja donde se vean los encabezados de filas y columnas. Y así poder evaluarla.

Sdos.

Elsa

https://youtube.com/channel/UCSftX2GNQiTDDm0C6H9wEVA 

Muchas gracias por tu aporte.

Mira, está es la imagen con las filas y columnas.

Volví a Ingresar la Macro y me da el siguiente error:

Error de Compilación:

Error de Sintaxis

Sub Cargar_Asiento()
Dim NRO_ASIENTO

' CONSISTENCIA DE LA CARGA
If Range("H18") = "Asiento Correcto" Then

' COPIANDO CARGA DE DATOS DE ASIENTO
Range("A5:H14").Select
Selection.Copy
' UBICARSE AL FINAL DE LA BASE DE ASIENTOS
Range("B5000").Select
Selection.End(x1Up).Select
Selection.Offset(1, -1).Select
' PEGAR DATOS DE ASIENTO
Selection.PasteSpecial Paste:=x1Values, Operation:=x1None, SkipBlanks:=_False, Transpose:=False
' INICIO
Aplication.CutCopyMode = False
Range("B5").Select
' MENSAJE INDICANDO NUMERO DE ASIENTO
NRO_ASIENTO = Range("A5").Value
MsgBox ("Se ha contabilizado el asiento número " & NRO_ASIENTO)
' NUMERAR ASIENTO
Range("A5").Value = NRO_ASIENTO + 1
'LIMPIAR CARGA DE ASIENTO
Range("G5:H14;B5:D14").Select
Selection.ClearContents
Range("B5").Select
Else
MsgBox ("Existen errores en la carga del asiento, por favor verificar")
End If

End Sub

Lo ideal, cuando te aparece un mensaje de error, es presionar el Depurar para que te permita tomar imagen de la línea marcada con el error y dejarnos aquí en la consulta para estar seguros de cuál es la línea fallada.

Por la imagen puedo presuponer que tenés alguna celda combinada debajo de los datos. Pero estás buscando el fin de rango desde la col B y te devuelve la fila 14 ... hacia abajo no puede pegar el rango.

Si ya sabes que debajo de la fila 14 sigue un par de filas ocupadas con los cuadros y por lo tanto tu primer fila para el pegado sería la N° 19 debieras evaluar esto con algo así:

x = Range("B5000").End(xlUp).Row+1

If x < 19 then x = 19

Range("A" & x").Select

Y a continuación el pegado.

¿O será que lo necesitas pegar en otra hoja? En ese caso te estás olvidando de mencionarla.

PD) Te invito a mirar el video N° 11 de mi canal donde comento la NO necesidad de ir seleccionando a medida que se avanza en las instrucciones.

Sdos!

Muchas gracias.

Aquí se aprecia mejor el error

Lee nuevamente mi última respuesta: Debes revisar a partir de qué fila se puede pegar y de ser necesario colocar allí las instrucciones que te dejé.

Si no podes resolverlo enviame esta hoja a mi correo: cibersoft.arg de Gmail.com

Sdos!

¡Gracias!  de verdad

Cuando una línea se te marca de color rojo es porque tiene un error de sintaxis y debes revisar primero cómo está escrita. Por ejemplo, no se completó la palabra 'False' al final.

Lo ideal en este tipo de proceso (copiar-pegar) es encender la grabadora de macros y realizar todos los pasos. Al detener la grabación encontrarás en un módulo las instrucciones.

Te devuelvo el libro con todas las correcciones.

Sdos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas