No me funciona la macro para almacenar los datos capturados en el formulario a un hoja en excel
Amigos estoy nerviosos porque este asunto no me funciona, confeccione un formulario en el editor visual basic para alimentar una base de datos en un hoja de excel, cuando ejecuto este procedimiento me sale un mensaje que dice " Se ha producido el error 9 en tiempo de ejecución,Subíndice fuera del intervalo" no sé que hacer para arreglar el tema, yo no soy programador he tratado de aprender esto en forma autodidacta. A continuación les detallo el codigo de visual basic para aplicaciones excel. este es mi mail patriciobernals@yahoo.es Si gustan les puedo enviar el archivo para que lo vean, pero necesito un mail de ustedes para enviarselo.
Private Sub cmdGuardar_Click() If Val(TxtNumeroHabitacion.Text) < 101 Or Val(TxtNumeroHabitacion.Text) > 730 Then MsgBox "Número de Habitación no válido." TxtNumeroHabitacion.SetFocus Exit Sub End If
If TxtNombreHuesped.Text = "" Then MsgBox "Introduzca el nombre del huespéd." TxtNombreHuesped.SetFocus Exit Sub End If
If TxtCantidad.Text = "" Then MsgBox "Introduzca la cantidad de gastos." TxtCantidad.SetFocus Exit Sub End If
If TxtNumeroTarjeta.Text = "" Then MsgBox "Introduzca el número de la tarjeta" TxtNumeroTarjeta.SetFocus Exit Sub End If
Esta es la parte del código que no me funciona Worksheets("Gastos de húespedes").Activate Range("A2").Select If Range("A2").Value = "" Then Range("A2").Activate Else Range("A2").CurrentRegion.Select ActiveCell.Offset(Selection.Rows.Count, 0).Activate End If With ActiveCell .Value = TxtNumeroHabitacion.Text .Offset(0, 1).Value = TxtNombreHuesped.Text .Offset(0, 2).Value = cboTipoGasto.Text .Offset(0, 3).Value = TxtCantidad.Text .Offset(0, 4).Value = txtFecha.Text .Offset(0, 5).Value = cboTipoTarjeta.Text .Offset(0, 6).Value = TxtNumeroTarjeta.Text
End With
End Sub
Private Sub UserForm_Activate() With cboTipoGasto .RowSource = "Gastos" .ListIndex = 0 End With With TextFecha TextFecha.Text = Format(Now, "dd/mm/yy") End With With cboTipoTarjetas .RowSource = "Tarjetas" .ListIndex = 0 End With End Sub
Añadir Nuevo Comentario