Error 1004 al Ejecutar Macro Excel

Estoy tratando de armar un pequeño sistema contable en excel,
pero al ejecutar la macro asignada para numerar y cargar los asientos contables, me marca el error: "Se ha producido el error ´1004´ en tiempo de ejecución Error definido por la aplicación o el objeto
En mi libro de Excel tengo las siguientes columnas y sus respectivos nombres:
Columnas: A B C D E F G H
Nombre : No. Asiento Cuenta CeCo D/H  Descripcion Cta. Descripcion Ceco DEBE HABER
Valores
Iniciales: A5 B5 C5 D5 E5 F5 G5 H5
Valores
Finales: a14 b14 c14 d14 e14 f14 g14 h14
y a continuación les adjunto el código de la macro para cargar los asientos:
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(xIUp).Select
Selection.Offset(1, -1).Select
' PEGAR DATOS ASIENTOS
Selection.PasteSpecial Paste:=x1values, Operation:=x1None, SkipBlanks:=False, Traspose:=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("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
PERO AL MOMENTO DE EJECUTAR LA MACRO, la cual esta asignada a un cuadro de texto, me arroja el ERROR YA MENCIONADO AL INICIO: ERROR 1004 EN TIEMPO DE EJECUCIÓN
Ojala y puedan ayudarme con este problema que no he podido resolver.

1 respuesta

Respuesta
1
Por lo que estoy viendo no has declarado tu variable NRO_ASIENTO de ningún tipo
aquí te dejo todos los tipo y lo que ocupan de memoria para que la macro trabaje más rapido y con menos carga.
Integer Valor Entero 2 Bytes
Long Valor Entero Largo 4 Bytes
Single Valor Real 4 Bytes
Double Valor Real Doble 8 Bytes
String Carácter (texto) 1 Byte por carácter
Byte Byte 1 Byte
Boolean Valor Booleano (1/0) 2 Bytes
Currency Monedas y Punto Fijo 8 Bytes
Date Fecha 8 Bytes
Object Referencias a objetos 4 Bytes
Variant Cualquiera 16-22 Bytes
Visto esto y sin saber tus datos yo declararía la variable Dim NRO_ASIENTO As String
>Ya me contaras
>Un saludo
>Julio
Experto Julio:
Antes que nada, buenas tardes:
Mira le cambie a mi macro el inicio y lo deje como tu comentaste
Dim NRO_ASIENTO As String
PERO ME SIGUE MARCANDO EL MISMO ERROR 1004 en tiempo de ejecución, pero al tratar de depurar la macro ahora me envía al siguiente renglón de la macro:
Selection.End(xIUp).Select
Y me sigue marcando el mismo error 1004
¿Ahora qué podrá ser?
GRACIAS POR TU RESPUESTA ANTERIOR y espero y me puedan ayudar.
Miratelá ahora:
Sub cargar_asiento()
Dim NRO_ASIENTO As String
' Consistencia de la carga
If Range("H18") = "Asiento Correcto" Then
Else
' COPIANDO CARGA DE DATOS DE ASIENTO
Range("A5:H14").Copy
' UBICARSE AL FINAL DE LA BASE DE ASIENTOS
Range("B5000").Select
Selection.End(xIUp).Select
ActiveCell.Offset(1, -1).Select
' PEGAR DATOS ASIENTOS
Selection.PasteSpecial
' INICIO
Application.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("B5:D14,G5:H14").ClearContents
Range("B5").Select
Else
MsgBox ("Existen errores en la carga del asiento, por favor verificar")
End If
End Sub
Miratelá ahora y compruebas linea a linea donde estaban tus errores, la copias y la pegas, la ejecutas y ya me cuentas, a mi me funciona perfectamente
>Un saludo
>Julio
Buen día, Experto Julio estoy muy agradecido con Usted por sus valiosos comentarios y sugerencias al respecto, en verdad ma han servido bastante.
Muchas gracias y le envío mis más cordiales saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas