Celda con instrucciones vba

Hola como están, bueno la duda que tengo es la siguiente...
En una celda cualquiera se pueden colocar fórmulas eso por obviedad, la pregunta es que si se puede colocar instrucciones que manejen los controles que tenemos en un libro...
Por ejemplo tengo un textbox y en una celda quiero colocar lo que pongo en ese textbox pero quiero que lo haga automáticamente sin esperar un evento del control (como el change) sino colocar en la celda algo como textbox1.Text de modo que me jale automáticamente ese valor; incluso no se si se pueda agregar funciones que ya tenemos programadas...
Lo que pasa es que utilizo tres celdas llenando datos y utilizo tres option button una para cada celda situado a su lado de modo que cuando elijo un option button con el evento click automáticamente el valor de la celda en donde se activo dicho control se copia a otra celda cualquiera X...
Hasta allí todo bien el problema viene cuando yo cambio el valor de una celda (una de las 3) donde el optionbutton esta activado entonces allí no se cambia el valor automáticamente a la celda X, ya que espera el evento click para eso...
Entonces tengo que activar nuevamente el evento click para lo requerido...
¿Y entonces como puedo efectivizar lo que acabo de mencionar?
Respuesta
1
Vamos a ver si entendemos el funcionamiento de VBA lo que dispara la ejecuacion del código es el evento click en el Optionbutton no es al revés, para ello deberías de cambiar las condiciones para que se ejecute el evento:
Imagino que tus controles Optionbutton están dibujados en la Hoja y no en un userform (lógicamente) pues en las instrucciones de la propia hoja pones esta macro:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
If Target.Value <> "" And OptionButton1.Value = True Then
Range("C1").Value = Target.Value
End If
End If
If Target.Address = "$A$2" Then
If Target.Value <> "" And OptionButton2.Value = True Then
Range("C2").Value = Target.Value
End If
End If
If Target.Address = "$A$3" Then
If Target.Value <> "" And OptionButton3.Value = True Then
Range("C3").Value = Target.Value
End If
End If
End Sub
Si tus celdas de referencia y de destino son diferentes las cambias, de esta forma podrás o bien cambiar el valor de la celda y hacer click en el optionbutton para que te lleve el valor a la otra celda o teniendo el optionbutton activado cambiar el valor de la celda correspondiente y al pulsar enter y cambiar de celda se copiara el valor a la de destino.
Si te ha servido comenta, puntúa y finaliza la consulta. Gracias
>Un saludo
>Julio

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas