Macro para agregar una cuenta a un catalogo de cuentas

hola nuevamente

como podrás ver en el archivo que te envíe el catalogo de cuentas que deseo crear las cuentas deben estar separadas en grupo de tres dígitos de esta manera los primeros tres dígitos para los MAYORES, los siguientes tres dígitos para las SUB CUENTAS y los últimos tres dígitos para AUXILIARES y deberán verse reflejados de esta manera

--1 Mayor

-10 Mayor

100 Mayor

100-001 Sub Cuenta

100-001-001 Auxiliar

si se ingresara una cuenta con esta descripción 1-001 o 10-001 debería marcar un error y no dejar ingresar la cuenta

para esto tengo varios botones y varias macros y en el caso de crear una nueva cuenta es donde tengo algunos inconvenientes que te detallo

CREAR CUENTA

al dar click a este botón debe mostrar las filas 5 y 6 que están ocultas la fila 5 es el encabezado de las cuentas es decir CÓDIGO, TIPO, DESCRIPCIÓN TIPO, DETALLE y TIPO de CUENTA, en la fila 6 están los campos en donde se ingresara la información de las cuentas a ingresar, aclaro que 2 de estos campos tienen formulas y formatos condicionales, en el campo código le di un formato especial a la celda para que al introducir la cuenta no sea necesario ingresar el guion pero que este si aparezca y el formato personalizado que use es el siguiente ###-###-### y pues hasta ahi todo funciona muy bien

INGRESAR CUENTA

aquí en donde hay algún problema pues a darle click a este botón la macro que esta asignada al mismo debe hacer varias cosas entre ellas copiar la información de la fila 6 identificar en el mismo libro la ultima fila que tenga información en el campo pegar la información copiada en la fila siguiente a la ultima fila con valores encontrados y ordenarlo en forma ascendente, en la parte de el ordenamiento es donde tengo el problema pues la intención del ordenamiento seria la siguiente

--1 activos

--10 activos circulantes

--100 efectivo

-100-001 Caja General

100-001-001 caja general sucrusal sur

--101 cuentas bancarias

-101-001 cuentas de ahorro

101-001-001 cuenta No. Xxxx-xxxx-xxxx

-101-002 cuentas de cheques

101-002-001 cuenta No. X-xxxxxx-xxxx

el problema es que cuando lo ordena la cuenta 101 aparece inmediatamente después de la cuenta 100 es decir de esta manera

--100 efectivo

--101 cuentas bancarias

-100-001 caja general

con la modificación que me enviaste el ordenamiento lo hace de manera correcta pero luego la macro se detiene y aparece un mnesaje de depuración y me marca el siguiente segmento indicándome que hay un erro en la misma

'Ordena los registros por el campo código

Columns("B:C").Insert
Columns("A").TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, _
OtherChar:="-", _
FieldInfo:=Array(Array(1, 2), Array(2, 2), Array(3, 2)), _
TrailingMinusNumbers:=True

como podrás comprobar en el archivo que te envíe si haces una prueba te aparecerá dicho error, espero puedas ayudarme

atentamente.

Ronny Betancourth

1 Respuesta

Respuesta
1

Las cuentas deberían ser así:

001-000-000 activos

010-000-000 activo circulante

100-000-000 efectivo

101-000-000 cuentas bancarias

Etc

Si pones esto

--1, esto es el número 1 en auxiliar

1-- Esto si es mayor

Como te dije la macro no va a funcionar, está preparada para separar los datos con guiones, pero no tienes guiones, tienes un formato.

Tampoco tienes las cuentas de 3 en 3, todas las cuentas deberían tener 9 dígitos, pero tu tienes cuentas con 1 dígito, con 2, con 3, etc.

Te recomiendo que homologues tus cuentas ya sea con guiones o con formato, pero que tenga la misma estructura.

De otra forma tendrás que ordenar manualmente las cuentas.

Hacer una macro para que identifique esto:

-100-001 Caja General
100-001-001 caja general sucursal sur

Es decir, habría que poner muchas reglas para decir que abajo de Caja General, que tiene un 100, va caja generar sucursal sur, que también tiene un 100, lo malo es que le primer 100, está en la posición 3, 4 y 5, y el segundo 100 está en las posiciones 1, 2 y 3.

En cambio si tienes esto, incluso a simple vista se ve ordenado.

100-001-000 Caja General
100-001-001 caja general sucursal sur

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas