Error en un TextBox y ListBox
Hola gfellay. He creado un pequeño programita en excel y me surge un error (Se ha producido el error 2147417848(80010108) en tiempo de ejución: Error de Automatización.); Lo curioso es que ejecuto el programa y me rula un rato y de repente se cuelga.
Sospecho que es debido al último procedimiento que cree:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
On Error Resume Next
'Ocultamos el procedimiento
Application.ScreenUpdating = False
columna = (2 * ComboBox1.ListIndex + 1)
fila = ListBox1.ListIndex + 2
If KeyCode = vbKeyReturn Then
Cells(fila, columna + 1) = TextBox1
ActiveCell.Select
Selection.Copy
Sheets("Deshacer").Select
Cells(fila, columna + 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("Elementos actualizados").Select
End If
Application.ScreenUpdating = True
End Sub
Te explico un poco, tengo un TextBox y al presionar Enter su valor se me introduce en la celda activa. El TextBox recoge los valores de un ListBox al dar clic sobre él. Te voy a poner el código, por si a caso.
Private Sub ListBox1_Click()
On Error Resume Next
'Ocultamos el procedimiento
Application.ScreenUpdating = False
columna = (2 * ComboBox1.ListIndex + 1)
fila = ListBox1.ListIndex + 2
ruta02 = ActiveWorkbook.Path & "\" & ComboBox1.Text & "\Imágenes\" & ListBox1.Text & ".jpg"
Image1.Picture = LoadPicture(ruta02)
Cells(fila, columna + 1).Select
TextBox1.value = ActiveCell.value
'Mostramos el procedimiento
Application.ScreenUpdating = True
End Sub
¿No se si se podría poner un código alternativo?. ¿Qué me sugieres?. Gracias por todo gfellay.
Sospecho que es debido al último procedimiento que cree:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
On Error Resume Next
'Ocultamos el procedimiento
Application.ScreenUpdating = False
columna = (2 * ComboBox1.ListIndex + 1)
fila = ListBox1.ListIndex + 2
If KeyCode = vbKeyReturn Then
Cells(fila, columna + 1) = TextBox1
ActiveCell.Select
Selection.Copy
Sheets("Deshacer").Select
Cells(fila, columna + 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Sheets("Elementos actualizados").Select
End If
Application.ScreenUpdating = True
End Sub
Te explico un poco, tengo un TextBox y al presionar Enter su valor se me introduce en la celda activa. El TextBox recoge los valores de un ListBox al dar clic sobre él. Te voy a poner el código, por si a caso.
Private Sub ListBox1_Click()
On Error Resume Next
'Ocultamos el procedimiento
Application.ScreenUpdating = False
columna = (2 * ComboBox1.ListIndex + 1)
fila = ListBox1.ListIndex + 2
ruta02 = ActiveWorkbook.Path & "\" & ComboBox1.Text & "\Imágenes\" & ListBox1.Text & ".jpg"
Image1.Picture = LoadPicture(ruta02)
Cells(fila, columna + 1).Select
TextBox1.value = ActiveCell.value
'Mostramos el procedimiento
Application.ScreenUpdating = True
End Sub
¿No se si se podría poner un código alternativo?. ¿Qué me sugieres?. Gracias por todo gfellay.
1 respuesta
Respuesta
1