Seleccionar texto en textbox

En un formulario tengo una textbox con el contenido de una celda.
Cuando abro el formulario quiero que una palabra (que va asociada a una variable) del texto contenido en la textbox está seleccionada. Yo he probado así pero no me funciona:
Form1.TXTEncelda.Text = ActiveCell.Value
Form1. TXTEncelda. SetFocus
Form1. TXTEncelda.Text. SelStart N
Form1. TXTEncelda.Text. SelLength L
Form1. TXTEncelda.Text. SelText
Como ves, lo que quiero es que en el formulario Form1 se seleccione de la textbox TXTEncelda, L caracteres a partir de la posición N de la celda activa. Algo hago mal y no sé lo que es.

1 respuesta

Respuesta
1
Abre un nuevo libro
Agrega un formulario de usuario
Agrega un cuadro de texto
Agrega a la celda A1 de la hoja activa el texto
"esta prueba selección"
Sin las comillas
Agrega el siguiente código al formulario
Option Explicit
Private Sub UserForm_Initialize()
Dim strPal As String
With TextBox1
.Text = Range("A1").Value
.SelStart = 5
.SelLength = 6
strPal = .SelText
MsgBox "La palabra seleccionada es: " & strPal
.SetFocus
End With
End Sub
Pruébalo...
Hola Valedor, gracias por contestar tan rápido. Antes me equivoqué al copiar la rutina. Lo que quise poner era esta:
Form1.TXTEncelda.Text = ActiveCell.Value
Form1.TXTEncelda.SetFocus
Form1.TXTEncelda.SelStart = N
Form1.TXTEncelda.SelLength = L
Form1.TXTEncelda.SelText
Aquí (al igual que en tu ejemplo) se selecciona la palabra que quiero, pero lo que realmente necesito (y quise decir) es que se vea seleccionada; es decir, que aparezca con el fondo azul como cuando se le da doble click con el ratón o con el teclado shift+ctrl+dcha (si el cursor está a la izquierda de la palabra).
Espero haberme explicado correctamente.
Gracias de nuevo y perdona la imprecisión en la pregunta
No se si probaste mi ejemplo, pero queda seleccionada la palabra como quieres...
Evidentemente si te digo que no me sale seleccionado es después de probarlo.
La selección la hace bien, ya que sale en el msgbox (hasta ahí llegaba...) pero en el textbox a mí no se me ve qué palabra es la que queda seleccionada. No sé si tendrá algo que ver pero yo uso Excel2000, quizá tú lo estás probando en otra versión que sí te sale. No sé que ocurrirá ni dónde estará la diferencia. Si se te ocurre algo te lo agradecería.
Gracias de nuevo
No, en lo personal, en este mundo sin voces y rostros, no doy nada por "evidente", salvo que este completamente seguro, no proporciono código sin antes haberlo probado, me dices que tienes este código
Form1.TXTEncelda.Text = ActiveCell.Value
Form1.TXTEncelda.SetFocus
Form1.TXTEncelda.SelStart = N
Form1.TXTEncelda.SelLength = L
Form1.TXTEncelda.SelText
yo te di este codigo
With TextBox1
.Text = Range("A1").Value
.SelStart = 5
.SelLength = 6
strPal = .SelText
MsgBox "La palabra seleccionada es: " & strPal
.SetFocus
End With
Quitale el Msgbox y pruebalo, veras que te todos modos te muestra la palabra seleccionada, si me dices que lo has probado te creo, pero te pregunto, ¿te has fijado en el orden de las instrucciones?, modifica tu codigo para que se parezca lo mas posible al orden que yo uso y uso tambien Excel2000, en este momento tengo funcionando el codigo que te proporciono
With TextBox1
.Text = Range("A1").Value
.SelStart = 5
.SelLength = 6
strPal = .SelText
.SetFocus
End With
La verdad, me sorprende. Para probarlo desde la primera vez lo hice en una hoja aparte, sin aplicarlo a mi programa. Y nada, ya se me ocurrió quitarle el msgbox y no se veía la selección con el fondo azul como pretendo. Lo único que se me ocurre, si te parece bien, es mandarte el archivo que tengo exclusivamente con eso por si tú te das cuenta de algo. La verdad es que no hay mucho que ver, pero a veces el problema radica en lo que uno supone como obvio. Si me das una dirección de correo te lo mando. Para que me mandes la corrección (si te parece bien), et doy yo el mío: [email protected]
Gracias y a ver si solucionamos este enigma.
De acuerdo, envialo a
[email protected]
Te he enviado el archivo, te agradeceré que cuando envíes archivos los comprimas aunque sean pequeños

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas