VBA Excel - Problemas con el registro de una fecha de un formulario a una celda de Excel
Gracias por su apoyo en mis dudas respecto a la programación Macro, sin embargo tengo un problema con el reconocimiento de un dato ingresado por un formulario en una fórmula de Excel. Mi formulario al tener los datos listos, no solo graba los datos de los Textbox, sino agrega fórmulas correspondientes a 2 celdas que están ligadas a una celda con una fecha (que es ingresada de la fecha que contenga en el TextBox9 de mi formulario) pero que no realizan la fórmula y me sale #¡VALOR!, si esa fecha ingresada en mi formulario la vuelvo a tipear sin cambiar formato ni nada, sí acepta la formulación y lanza un resultado.
Podría pensar que es por el formato conque lo graba, pero el problema es el mismo número que es ingresado en sí.
Dato:
He testeado posibilidades, si sumo uno a esa cantidad sale un resultado correcto pero la fórmula "=SI(I28="Estable","ESTABLE", INDICE(J28:AE28, 1, CONTAR(J28:AE28)))" solo reconoce la primera entrada y la segunda que es el dato anterior +1 no (que lo correcto es que debería mostrar este segundo). En el mismo caso en la primera celda re escribí la misma fecha sin cambiar nada en dicha celda y la fórmula funcionó mostrándome la segunda fecha (que es la primera +1). Cabe mencionar que el formato con que ingresa el formulario a la celda es formato Fecha.
Adjunto los códigos relacionados a dicho Textbox9 (donde se ingresa el dato de fecha, en ese TextBox no he puesto ningún formato excepto cambiar de tamaño):
Private Sub CommandButton1_Click() Dim emptyRow As Long Sheets("MatrizMod").Select emptyRow = Range("A" & Rows.Count).End(xlUp).Row + 1 Cells(emptyRow, 1).Value = TextBox1.Value (...) Cells(emptyRow, 7).FormulaR1C1 = "=IF(RC[+2]=""Estable"",""ESTABLE"",INDEX(RC[+3]:RC[+24],1,COUNT(RC[+3]:RC[+24])))" 'INDEX(RC[+3]:RC[+24] donde RC[+3] es la celda donde se coloca el dato de la fecha y en esa celda se da error. If OptionButton1.Value = True Then Cells(emptyRow, 9).Value = OptionButton1.Caption Cells(emptyRow, 10).Value = TextBox9.Value Else Cells(emptyRow, 9).Value = "Estable" Cells(emptyRow, 10).Value = "ESTABLE" End If End Sub Private Sub OptionButton1_Click() If Me.OptionButton1 Then (...) TextBox9.Enabled = True End If Dim lngWhite As Long lngWhite = RGB(255, 255, 255) If TextBox4.Enabled = True Then (...) TextBox9.BackColor = lngWhite End If End Sub Private Sub OptionButton2_Click() If OptionButton2 = True Then TextBox9.Enabled = False ComboBox2.Value = "A Plazo Indeterminado" (...) TextBox9.Value = "" End If Dim lngGray As Long lngGray = RGB(216, 208, 200) TextBox9.BackColor = lngGray End If End Sub Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean) (...) If IsNumeric(TextBox5) Then TextBox9 = DateAdd("d", MesesRenovar, InicioContrato) FinContrato = DateValue(TextBox9) End If End Sub