Como puedo corregir este macro para que seleccione la hoja que deseo, porque me manda a depurar por error 9

Cuando ingreso al cuadro superior para que me lleve a la hoja e ingresar los datos me marca error 9 me pueden ayudar a revisar los comandos.

Muchas gracias

Option Explicit
Dim i As Integer
Dim r As Integer
Dim Final As Integer

Private Sub ComboBox4_Change()
Sheets(ComboBox4.Text).Select
TextBox1 = Sheets(ComboBox4.Text).range("C3")
TextBox3 = Sheets(ComboBox4.Text).range("H3")
TextBox4 = Sheets(ComboBox4.Text).range("J3")
TextBox5 = Sheets(ComboBox4.Text).range("L3")
cont
End Sub

Private Sub CommandButton1_Click()

If ComboBox4.Text = "" Then
MsgBox "Debe elegir un valor en el campo VEHICULO de la parte superior derecha."
Exit Sub
End If

On Error Resume Next
For i = 6 To 309
If Sheets(ComboBox4.Text).Cells(i, 1) = "" Then
Final = i
Exit For
End If
Next

Sheets(ComboBox4.Text).range("C3") = TextBox1
Sheets(ComboBox4.Text).range("H3") = TextBox3
Sheets(ComboBox4.Text).range("J3") = TextBox4
Sheets(ComboBox4.Text).range("L3") = TextBox5

Sheets(ComboBox4.Text).Cells(Final, 1) = TextBox2
Sheets(ComboBox4.Text).Cells(Final, 2) = (TextBox7)
Sheets(ComboBox4.Text).Cells(Final, 3) = ComboBox1
Sheets(ComboBox4.Text).Cells(Final, 4) = CDbl(TextBox8)
Sheets(ComboBox4.Text).Cells(Final, 5) = CDbl(TextBox9)
Sheets(ComboBox4.Text).Cells(Final, 7) = CDbl(TextBox10)
Sheets(ComboBox4.Text).Cells(Final, 8) = CDbl(TextBox11)
Sheets(ComboBox4.Text).Cells(Final, 10) = ComboBox2
Sheets(ComboBox4.Text).Cells(Final, 11) = ComboBox3
Sheets(ComboBox4.Text).Cells(Final, 12) = TextBox12
Hoja1.Activate
Unload Me
MsgBox ("Datos Ingresados")

End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub
Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

End Sub

1

1 Respuesta

8.975 pts.

Error 9 corresponde a que no encuentra la Hoja, el error lo debe arrojar en la linea

Hoja1. Activate

En la macro no veo que tengas definido el Set de la Hoja, ¿a qué hoja deberias ir?

Debes definir Hoja1 como una variable de Worksheet colocale

set Hoja1 = Sheets("NombredeHoja")

Por favor recuerda valorar la respuesta!

Slds

Juan

El problema es que son varias hojas a las que puede dirigirse porque son varias unidades las que aparecen ahi.

Muchas gracias

Ok, me imagino que va a depender de lo que coloques en alguno de los combos.

En la macro que copiaste no estas definiendo Hoja1 entiendo que Hoja1 debería ser el resultado del ComboBox4.Text para que si el Combo es Ventó, valla a la hoja "vento" y si es Duna vaya a la hoja "Duna"

set Hoja1 = Sheets(ComboBox4.Text)
Hoja1. Activate

Por favor recuerda valorar la respuesta!

Slds

Juan

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas