Eliminar datos de un Textbox con el evento Keypress
Para Elsa Matilde:
Estoy realizando una cotización, allí hay un listbox que permite observar en tiempo real cómo está quedando la cotización (la cotización es de 2 páginas), pero necesito que al elegir un producto del listbox, al presionar la tecla SUPR pueda borrar el Item seleccionado. Lo que requiero específicamente es lo siguiente:
- Elegir un producto de cualquiera de las 2 páginas y al presionar la tecla SUPR lo pueda eliminar.
- Luego de eliminar el producto, que se inserte una nueva fila en la página donde se eliminó (Pág. 1 o 2)
- Que vuelva a realizar cálculos de multiplicar una cantidad por el producto en la fila que se insertó sin importar la página (Columnas D y E en la hoja de cálculo).
- Que vuelva a calcular el total de la cotización sin importar la página (1 o 2).
Ya tengo un código que desde un botón elimina el producto elegido, inserta una fila y calcula el total pero sólo de la página 1.
On Error Resume Next Dim a As Worksheet, codigo As Range Dim fila As Long, filaedit As Long, dire As Long Dim cod As Variant, rpta As Variant, Cancel As Boolean Dim shp As Shape Set a = Sheets("formato") filaedit = a.Range("C" & Rows.Count).End(xlUp).Row 'Variable que busca ultima fila con datos fila = ListBox1.ListIndex 'Variable que indica el indice del dato a buscar cod = cotizaciones.ListBox1.List(fila, 1) 'Variable que busca el dato exacto que esta en el listbox y en excel Set codigo = a.Range("C20:C" & filaedit).Find(cod, LookIn:=xlValues, LookAt:=xlWhole) 'busca el dato en Excel, coincidente con el del listbox If Not codigo Is Nothing Then 'Si el renglon no esta vacío dire = codigo.Row 'Fila exacta donde se encontró el dato 'Elimina objetos como imágenes, formas For Each shp In a.Shapes If Not Intersect(shp.TopLeftCell, a.Cells(dire, "G")) Is Nothing Then shp.Delete End If Next a.Cells(dire, "C").EntireRow.Delete 'Elimina la fila buscada de la hoja de calculo 'Va al final de los datos e inserta una fila Range("B20").Select Selection.End(xlDown).Select ActiveCell.Offset(1, 0).Select Selection.EntireRow.Insert 'vuelve a calcular la suma Range("F29").Select ActiveCell.FormulaR1C1 = "=SUM(R[-8]C:R[-1]C)" End If