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:
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.
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
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
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
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


0