Buenos días colegas. Espero se encuentren bien de salud.
Hace algunos días comencé un nuevo proyecto para llevar la Contabilidad en un Negocio que es de mi hermano. Apenas comienzo, pero tengo varios problemas a pesar de ser Contador (pero no programador).
El tema que me ocupa hoy es el siguiente:
Tengo una Hoja (Plan de Cuentas) donde tengo el Catálogo, pero es necesario agregar Cuentas nuevas a medida que el Negocio avance como son Proveedores, Clientes, Bancos, Ingresos, etc...
Tengo una macro que he creado, pero no me ORDENA como requiere el Catálogo, Me inserta bien los datos (Jerarquía, Numero de cuenta, Titular y Naturaleza), pero lo ordena de manera inadecuada.
En el ejemplo que "subo" inserté una nueva cuenta:
Jararquía: 2
Nunero: 102-03
Titulo: Bancos Mixtos
Naturaleza: D
Pero si se fijan, este me lo insertó (Ordenó) Fondo amarillo, debajo de la cuenta 101-01, cuando debía ser debajo de la cuenta 102-02.
Todo parte del FrmCuentas (Label signo +). El código está en el Módulo5.
Por favor si pudieran ayudarme. Tengo otras dudas o problemas que iré ventilando con ustedes a medida que la corriente me lo permita (acá los apagones son de 20 horas diarias).
Sub InsertarCuenta()
Dim wsCatalogo As Worksheet
Dim ultimaFila As Long
Dim nuevaCuenta As String
Dim nivelCuenta As String
Dim tituloCuenta As String
Dim nCuenta As String
Dim celda As Range
Set wsCatalogo = ThisWorkbook.Sheets("Plan de Cuentas")
ultimaFila = wsCatalogo.Cells(wsCatalogo.Rows.Count, 1).End(xlUp).Row
nivelCuenta = InputBox("Ingrese la categoría jerárquica de la cuenta:")
nuevaCuenta = InputBox("Ingrese el código de la nueva cuenta:")
tituloCuenta = InputBox("Ingrese el Titulo de la Cuenta a Crear:")
nCuenta = InputBox("Ingrese la Naturaleza de la cuenta:")
Set celda = wsCatalogo.Range("A3:A" & ultimaFila).Find(nivelCuenta, LookAt:=xlWhole)
If Not celda Is Nothing Then
wsCatalogo.Rows(celda.Row + 1).Insert Shift:=xlDown
wsCatalogo.Cells(celda.Row + 1, 1).Value = nivelCuenta
wsCatalogo.Cells(celda.Row + 1, 2).Value = nuevaCuenta
wsCatalogo.Cells(celda.Row + 1, 3).Value = tituloCuenta
wsCatalogo.Cells(celda.Row + 1, 4).Value = nCuenta
MsgBox "Cuenta insertada correctamente en el Catálogo.", vbInformation
Else
MsgBox "No se encontró la Jerarquía especificada.", vbExclamation
End If
End Sub
Un abrazo a todos.
Pino
PD
No me deja insertar el archivo por su tamaño... 429KB... no entiendo...
Por
pinoji , · publicado el viernes a las 15:45 4 días
Buenas tardes
Agradeceré nuevamente de su ayuda
Tengo un rango de valores que van cambiando, ya que están vinculado a una serie de operaciones.
He confeccionado una fila auxiliar para que los errores de la fila anterior se conviertan en FALSO
Lo que estoy buscando es:
1- una macro para borrar los datos de las celdas que dan error
o
2-una macro para forrar los datos de la fila auxiliar con el texto FALSO
Desde ya muchas gracias todos