estimado @pinoji
la verdad sin archivo es dificil de hacer pruebas, deberias de adjuntar aunque sea un pequeño ejemplo:
te mando el codigo corregido, (Nota: sin realizar pruebas)
Sub InsertarCuentaOrdenada()
Dim wsCatalogo As Worksheet
Dim ultimaFila As Long
Dim nivelCuenta As String
Dim nuevaCuenta As String
Dim tituloCuenta As String
Dim naturalezaCuenta As String
Dim i As Long
Dim filaInsertar As Long
Dim cuentaEncontrada As Boolean
Set wsCatalogo = ThisWorkbook.Sheets("Plan de Cuentas")
ultimaFila = wsCatalogo.Cells(wsCatalogo.Rows.Count, 1).End(xlUp).Row
' Pedir datos
nivelCuenta = InputBox("Ingrese la categoría jerárquica de la cuenta:")
nuevaCuenta = InputBox("Ingrese el código de la nueva cuenta (ej: 102-03):")
tituloCuenta = InputBox("Ingrese el Título de la cuenta:")
naturalezaCuenta = InputBox("Ingrese la Naturaleza de la cuenta (D/H):")
cuentaEncontrada = False
filaInsertar = ultimaFila + 1 ' Por defecto, al final
' Buscar dónde insertar
For i = 3 To ultimaFila
If wsCatalogo.Cells(i, 1).Value = nivelCuenta Then
If wsCatalogo.Cells(i, 2).Value > nuevaCuenta Then
filaInsertar = i
cuentaEncontrada = True
Exit For
End If
End If
Next i
' Insertar fila y datos
wsCatalogo.Rows(filaInsertar).Insert Shift:=xlDown
wsCatalogo.Cells(filaInsertar, 1).Value = nivelCuenta
wsCatalogo.Cells(filaInsertar, 2).Value = nuevaCuenta
wsCatalogo.Cells(filaInsertar, 3).Value = tituloCuenta
wsCatalogo.Cells(filaInsertar, 4).Value = naturalezaCuenta
MsgBox "Cuenta insertada correctamente y ordenada.", vbInformation
End Sub
Código original
Insertaba la nueva cuenta justo debajo de la primera coincidencia de jerarquía (columna A).
No respetaba el orden numérico de los códigos de cuenta (columna B).
Resultado: cuentas nuevas podían quedar fuera de orden lógico (ej: 102-03 podía quedar arriba de 102-02).
Código corregido
Busca todas las cuentas con la jerarquía indicada.
Compara el código de la nueva cuenta con los existentes y encuentra su posición correcta dentro de esa jerarquía.
Inserta la cuenta en ese punto, manteniendo el orden numérico.
Espero haberte ayudado,
Saludos,
Por
DiegoLG , · publicado el sábado a las 20:26 4 días
Buenas Compañeros
Quiero darles las gracias por que siempre que tengo dudas me han colaborado, ahora vengo de nuevo con un proyecto, tengo un archivo de excel en el que tengo una tabla con filtros, deseo realizar un grafico donde a medida que selecione los botones de los canales el me filtre la informacion de la tabla y me actualice el grafico
Gracias
Espero me puedan ayudar como en los proyectos anteriores
Fernando Trujillo
Grafico.xls