Tengo Problemas a la hora de crear un formulario en Visual Basic Excel
Necesito de su ayuda y asesoramiento, hace un tiempo quise realizar un proyecto de gestión de inventario con formulario, todo iba bien, presente un inconveniente y tuve que borrar las configuraciones de Excel por "regedit" (no se si tendrá algo que ver), lo cierto es que ahora me arroja error en el formulario y me resalta en color amarillo "Private Sub UserForm_Activate()" y me resalta en color azul ".ColumnCount =" no tengo idea por que pasa esto y como solucionarlo.
Probé en un archivo nuevo en Excel a ver si era mi documento, lo probé en otra PC a ver, pero no tuve éxito y siempre me arrojaba el mismo error.
(Cabe resaltar que son 14 columnas de información, allí dice 6 porque tambien probé introduciendo varios números)
No me arroja ningún error si trabajo con "Private Sub Userform_Click" Pero yo necesito que al presionar un botón se ejecute el formulario.
Adjunto todo lo que he realizado hasta el momento pero no puedo seguir porque el error se encuentra al principio del todo (se encuentra al final).
PD: Soy muy MUY Principiante en este tema.
Private Sub BT_ELIMINAR_Click() valor_buscado = txt_codigo.Value Set fila = Sheets("INVT.").Range("A:A").Find(valor_buscado, lookat:=xlWhole) linea = fila.Row() Range("A" & linea).EntireRow.Delete End Sub Private Sub BT_AGREGAR_Click() Range("B4").EntireRow.Insert Range("A4").Value = Me.txt_codigo.Value Range("D4").Value = Me.txt_proveedor.Value Range("B4").Value = Me.txt_categoria.Value Range("C4").Value = Me.txt_producto.Value Range("N4").Value = Me.txt_stockminimo.Value Range("I4").Value = Me.txt_preciodecompra.Value Range("J4").Value = Me.txt_porcentajedeganancia.Value Range("H4").Value = Me.txt_almacen.Value Range("E4").Value = Me.txt_unidad.Value txt_codigo.Value = Range("A1").Value Me.txt_categoria.Value = Empty Me.txt_producto.Value = Empty Me.txt_proveedor.Value = Empty Me.txt_unidad.Value = Empty Me.txt_almacen.Value = Empty Me.txt_preciodecompra.Value = Empty Me.txt_porcentajedeganancia.Value = Empty Me.txt_stockminimo.Value = Empty Me.LISTA.RowSource = "INVENTARIO" Me.LISTA.ColumnCount = 12 End Sub Private Sub BT_REGISTRAR_Click() Gestion_Inventario.Height = 370 Me.BT_MODIFICAR.Enabled = False Me.txt_codigo.Value = Range("A1").Value Me.BT_AGREGAR.Enabled = True 'limpa textbox Me.txt_categoria.Value = Empty Me.txt_producto.Value = Empty Me.txt_proveedor.Value = Empty Me.txt_unidad.Value = Empty Me.txt_almacen.Value = Empty Me.txt_preciodecompra.Value = Empty Me.txt_porcentajedeganancia.Value = Empty Me.txt_stockminimo.Value = Empty End Sub Private Sub BT_MODIFICAR_Click() Dim fila As Object Dim linea As Integer valor_buscado = Me.txt_codigo Set fila = Sheets("INVT.").Range("A:A").Find(valor_buscado, lookat:=xlWhole) linea = fila.Row() Range("D" & linea).Value = Me.txt_proveedor.Value Range("B" & linea).Value = Me.txt_categoria.Value Range("C" & linea).Value = Me.txt_producto.Value Range("E" & linea).Value = Me.txt_stockminimo.Value Range("I" & linea).Value = Me.txt_preciodecompra.Value Range("J" & linea).Value = Me.txt_porcentajedeganancia.Value Range("H" & linea).Value = Me.txt_almacen.Value Range("E" & linea).Value = Me.txt_unidad.Value End Sub Private Sub txt_codigo_Change() Dim codigo As Integer codigo = txt_codigo.Value Me.txt_proveedor = Application.WorksheetFunction.VLookup(codigo, Sheets("INVT.").Range("A:O"), 4, 0) Me.txt_categoria = Application.WorksheetFunction.VLookup(codigo, Sheets("INVT.").Range("A:O"), 2, 0) Me.txt_producto = Application.WorksheetFunction.VLookup(codigo, Sheets("INVT.").Range("A:O"), 3, 0) Me.txt_stockminimo = Application.WorksheetFunction.VLookup(codigo, Sheets("INVT.").Range("A:O"), 14, 0) Me.txt_preciodecompra = Application.WorksheetFunction.VLookup(codigo, Sheets("INVT.").Range("A:O"), 9, 0) Me.txt_porcentajedeganancia = Application.WorksheetFunction.VLookup(codigo, Sheets("INVT.").Range("A:O"), 10, 0) Me.txt_almacen = Application.WorksheetFunction.VLookup(codigo, Sheets("INVT.").Range("A:O"), 8, 0) Me.txt_unidad = Application.WorksheetFunction.VLookup(codigo, Sheets("INVT.").Range("A:O"), 5, 0) End Sub Private Sub LISTA_Click() Dim codigo As Integer codigo = LISTA.List(LISTA.ListIndex, 0) Me.txt_codigo.Value = codigo Me.BT_AGREGAR.Enabled = False Me.BT_MODIFICAR.Enabled = True End Sub Private Sub BT_EDITAR_Click() If LISTA.ListIndex = -1 Then MsgBox ("Seleccione un Registro") Else Gestion_Inventario.Height = 370 Me.BT_AGREGAR.Enabled = False Me.BT_MODIFICAR.Enabled = True End If End Sub Private Sub UserForm_activate() Me.LISTA.RowSource = "INVENTARIO" Me.LISTA.ColumnCount = 12 Gestion_Inventario.Height = 250 End Sub