Excel - ENLAZAR VALOR DE UNA CELDA VARIABLE EN TEXTBOX

 
Vista:
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

ENLAZAR VALOR DE UNA CELDA VARIABLE EN TEXTBOX

Publicado por Quico (106 intervenciones) el 17/03/2019 09:41:58
Estoy intentando conseguir que un TextBox3 me enlace el valor de una celda excel que contiene una fórmula.

1. Desde una 'Useform', consigo introducir 2 fechas en 2 celdas de excel, de esta manera:
Private Sub TextBox1_Change()
Range("D3").Select
ActiveCell.FormulaR1C1 = TextBox1

Private Sub TextBox2_Change()
Range("D8").Select
ActiveCell.FormulaR1C1 = TextBox2

2. El propio excel tiene una celda (D10) dónde hay una fórmula: =DIAS.LAB(D6;D8) que funciona perfectamente.

3. Lo que me interesa es que un 'TextBox3' me muestre ese mismo valor.
Si pongo esto dentro de la macro del "CommandButton1" :
TextBox3 = ActiveSheet.Range("D10").Value
Funciona, pero tengo que activar el botón, y no me interesa.

Lo que necesito es que una vez introducido el valor TextBox1 y TextBox2, sea capaz de enlazarme el Valor de D10 en el TextBox3 sin ejecutar el valor.

He probado a poner cosas como esta, pero me muestra el valor de inicio (que es 0) y no se actualiza cuando la operación se ha realizado.

Private Sub UserForm_Initialize()
TextBox3.Value = ActiveSheet.Range("D10").Value
End Sub

He probado también a ponerlo dentro de Private Sub TextBox3_Change() o Private Sub TextBox3_Click() ....¡pero nada!

¿Cómo puedo hacer para que el TextBox3 me muestre la info que la Formula proporciona?

Creo que ha de hacerse fuera del CommandButton1, pero por si acaso pego el código que en esa parte se ejecuta:

Private Sub CommandButton1_Click()

'Tipos de variables
Dim Inicio As String, Fin As String
Dim w As Integer

TextBox3 = ActiveSheet.Range("D10").Value '<--- Este es el valor que funciona, pero solo si ejecuto la acción.

'Definición de variables
Inicio = WorksheetFunction.Proper(TextBox1)
Fin = WorksheetFunction.Proper(TextBox6)
w = 3002

Range("B" & w).End(xlUp).Offset(1).Activate
ActiveCell = nombre

With ActiveCell
[D6] = TextBox1 'Fecha Inicio (columna D)
[D8] = TextBox2 'Fecha Final (columna D)

End With
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder