Hola a todos!!
Tengo que rellenar una base de datos, lo cual hago mediante un formulario en el que hay una serie de textbox y botones de comando.
En los textbox introduzco fechas y otros tipos de datos, mientras que uno de los botones de comando lo que hace es dar de alta esos datos, es decir, inserta un renglón y pone en blanco todos los textbox.
La secuencia que utilizo es la siguiente:
Private Sub CommandButton1_Click()
Rem alta
Range("A11").Select
Selection.EntireRow.Insert
TextBox1 = Empty
TextBox2 = Empty
TextBox3 = Empty
TextBox4 = Empty
TextBox5 = Empty
TextBox6 = Empty
TextBox7 = Empty
TextBox8 = Empty
TextBox9 = Empty
TextBox10 = Empty
TextBox11 = Empty
TextBox12 = Empty
TextBox13 = Empty
TextBox14 = Empty
TextBox15 = Empty
TextBox16 = Empty
TextBox1.SetFocus
End Sub
Private Sub TextBox1_Change()
Range("B" + Label17).FormulaR1C1 = Val(TextBox1)
End Sub
Private Sub TextBox2_Change()
Range("C" + Label17).FormulaR1C1 = Val(TextBox2)
End Sub
Private Sub TextBox3_Change()
Range("D11").FormulaR1C1 = CDate(TextBox3.Text)
TextBox10 = CDate(Cells(8, 1).Text) - CDate(TextBox3.Text)
End Sub
Private Sub TextBox4_Change()
Range("F" + Label17).FormulaR1C1 = TextBox4
End Sub
Private Sub TextBox5_Change()
Range("G" + Label17).FormulaR1C1 = Val(TextBox5)
End Sub
Private Sub TextBox6_Change()
Range("H11").FormulaR1C1 = CDate(TextBox6.Text)
TextBox11 = CDate(TextBox6.Text) - CDate(TextBox3.Text)
End Sub
Private Sub TextBox7_Change()
Range("J" + Label17).FormulaR1C1 = CDate(TextBox7.Text)
TextBox12 = CDate(Cells(8, 1).Text) - CDate(TextBox7.Text)
TextBox13 = CDate(TextBox7.Text) - CDate(TextBox3.Text)
TextBox14 = CDate(TextBox7.Text) + 222
TextBox15 = CDate(TextBox7.Text) + 282
End Sub
Private Sub TextBox8_Change()
Range("K" + Label17).FormulaR1C1 = TextBox8
End Sub
Private Sub TextBox9_Change()
Range("N" + Label17).FormulaR1C1 = CDate(TextBox9.Text)
TextBox16 = CDate(TextBox3.Text) - CDate(TextBox9.Text)
End Sub
Private Sub TextBox10_Change()
Range("E" + Label17).FormulaR1C1 = Val(TextBox10)
End Sub
Private Sub TextBox11_Change()
Range("I11").FormulaR1C1 = Val(TextBox11)
End Sub
Private Sub TextBox12_Change()
Range("L" + Label17).FormulaR1C1 = Val(TextBox12)
End Sub
Private Sub TextBox13_Change()
Range("M" + Label17).FormulaR1C1 = Val(TextBox13)
End Sub
Private Sub TextBox14_Change()
Range("O" + Label17).FormulaR1C1 = TextBox14
End Sub
Private Sub TextBox15_Change()
Range("P" + Label17).FormulaR1C1 = TextBox15
End Sub
Private Sub TextBox16_Change()
Range("Q" + Label17).FormulaR1C1 = Val(TextBox16)
End Sub
El problema aparece al pulsar el botón, y me da un error '13' en el tiempo de ejecución, no coinciden los tipos.
El lugar donde aparece el error es:
Private Sub TextBox3_Change()
Range("D11").FormulaR1C1 = CDate(TextBox3.Text)
TextBox10 = CDate(Cells(8, 1).Text) - CDate(TextBox3.Text)
End Sub
Saludos, muchas gracias.