#N/A al introducir un código

He realizado una pequeña contabilidad doméstica, y he codificado las cuentas y subcuentas con el fin de que, al poner el código correspondiente, se escriba automáticamente el nombre de la cuenta y subcuenta correspondiente; pero al crear una nueva subcuenta dentro de del rango correspondiente y anotar su código, éste funciona correctamente, pero al anotar en los siguientes asientos cualquiera de los anteriores, me da el error #N/A.
La fórmula que realizo es la siguiente: =SI(B6=0;"";BUSCARV(B6;$J$6:$M$25;2:VERDADERO)).
La base de datos de los códigos, están correctamento ordenados ascendentemente.
¿Qué hago mal? La fórmula está bien realizada, pues si no introduzco un código nuevo, responde correctamente.
Espero haberme explicado, y perdona si he sido demasiado largo.
1

1 respuesta

Respuesta
1
La fórmula está bien. Creo que el problema es que el rango en el cual realizas la búsqueda es fijo ($J$6:$M:$25), por lo que cuando el número de cuentas que usas se sale del rango te encuentras con los mensajes #N/A. Esto lo puedes solucionar de varias ampliando el rango cogiendo zonas vacías que irás llenando posteriormente. Sin embargo, una vez que se te llene del todo tienes que ampliarla y cambiar la fórmula. Para evitar eso puedes ponerle un nombre al rango y referenciarlo en la fórmula de búsqueda, con lo que tendrías que hacer los redimensionamientos pero sin tener que cambiar las fórmulas.
Ahora bien, por cuestiones de organización, intuitividad y facilitación del trabajo mi consejo es el siguiente:
1º Donde pones VERDADERO pon FALSO. De esa manera fuerzas a que las coincidencias sean exactas y evitas errores. Ten en cuenta que en cualquier caso la codificación de las cuentas sigue teniendo que estar ordenada.
2º Coge todo la codificación de cuentas (lo que está en $J$6:$M$25) y muévelo a otra hoja que se llame, por ejemplo, 'Plan', a partir de la celda A1. En la fórmula cambia el rango y en lugar de [$J$6:$M$25] pon [Plan! $1:$65536] (los corchetes no los pongas). Así puedes añadir cuentas sin tener que preocuparte de la fórmula de búsqueda.
Si optas por lo segundo, que es lo que te recomiendo, tengo un regalo para ti. Vete a 'Herramientas', 'Macro', 'Macros...' y añade una macro que se llame 'Creacion' y en el cuerpo de la macro pon el siguiente código (copia y pega):
Hoja = ActiveSheet.Name
Cuenta = InputBox("Introduzca el código de la nueva cuenta", "Añadir cuenta contable")
Texto = InputBox("Introduzca la descripción de la cuenta " & Cuenta, "Añadir cuenta contable")
Sheets("Plan").Select
Range("A1").Select
Selection.End(xlDown).Select
Selection.Range("A2").Select
ActiveCell.FormulaR1C1 = Cuenta
Selection.Range("B1").Select
ActiveCell.FormulaR1C1 = Texto
Cells.Select
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("A1").Select
Sheets(Hoja).Select
Y ya me contarás si te gusta el regalo :)
¡Gracias amigo! Eres un verdadero experto.No he probado el "regalo", pero la explicación me ha servido. Pondré en práctica tu consejo, por lo que te doy las gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas