Introducir en cuadro de texto de userform texto o referencia a celda

22/08/2005 - 13:51 por Emilio | Informe spam
Hola a tod@s

estoy preparando una aplicación en que mediante formularios el usuario
solicita unos datos a una gran base de datos propietaria, hasta aquí todo va
de maravilla funciona y muy bien.
Lo que quisiera hacer para mejorarla, es dar la opción al usuario de que
esos datos solicitados en el formulario, los pudiera escribir en el
correspondiente cuadro de texto o indicar la celda/s en que puede
encontrarlos en la hoja correspondiente, he visto formularios en que con un
botón puedes pinchar en la celda/s y la aplicación ya asume que es un rango
no una cadena de texto.
No sé si me habré explicado debidamente, yo lo veo muy claro, otra cosa será
si consigo explicarlo ;-))

¿Alguna idea para empezar?

Muchas gracias por adelantado

Saludos a tod@s
Emilio
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio

Preguntas similare

Leer las respuestas

#1 Héctor Miguel
22/08/2005 - 22:22 | Informe spam
hola, Emilio !

... mediante formularios el usuario solicita unos datos a una gran base de datos propietaria
... quisiera... dar la opcion al usuario de que... los pudiera escribir en... cuadro de texto
... o indicar la celda/s en que puede encontrarlos en la hoja correspondiente
... he visto formularios en que con un boton puedes pinchar en la celda/s
...y la aplicacion ya asume que es un rango no una cadena de texto.



prueba agregando a tu cuadro de controles disponibles para formularios en vba...
-> un control 'RefEdit' [editor de referencias] :D
click-derecho -> controles adicionales... -> [por orden alfabetico]... RefEdit
-> libreria: c:\windows\system[32]efedit.dll

si cualquier duda... comentas?
saludos,
hector.
Respuesta Responder a este mensaje
#2 Emilio
23/08/2005 - 08:57 | Informe spam
Muchas gracias Hector Miguel, eso era :)), por cierto que si es perro me
muerde
pero ahora tengo otro problema, no sé usarlo, la ayuda no me indica como
diferenciar si el dato es un rango o es un literal, sabes si hay algún modo
directo de diferenciarlo, o he de trabajarmelo, supongo que si en el texto
hay un "$" y un "!" al mismo tiempo, contiene un rango.

Gracias de nuevo

Saludos a
Emilio
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio


"Héctor Miguel" escribió en el mensaje
news:ebzK$
hola, Emilio !

> ... mediante formularios el usuario solicita unos datos a una gran base


de datos propietaria
> ... quisiera... dar la opcion al usuario de que... los pudiera escribir


en... cuadro de texto
> ... o indicar la celda/s en que puede encontrarlos en la hoja


correspondiente
> ... he visto formularios en que con un boton puedes pinchar en la


celda/s
> ...y la aplicacion ya asume que es un rango no una cadena de texto.

prueba agregando a tu cuadro de controles disponibles para formularios en


vba...
-> un control 'RefEdit' [editor de referencias] :D
click-derecho -> controles adicionales... -> [por orden alfabetico]...


RefEdit
-> libreria: c:\windows\system[32]efedit.dll

si cualquier duda... comentas?
saludos,
hector.


Respuesta Responder a este mensaje
#3 Héctor Miguel
23/08/2005 - 09:33 | Informe spam
hola, Emilio !

... ahora tengo otro problema, no se usarlo... como diferenciar si el dato es un rango o es un literal
... algun modo directo de diferenciarlo, o he de trabajarmelo
supongo que si en el texto hay un "$" y un "!" al mismo tiempo, contiene un rango.



su contenido es una cadena de texto que te puede servir para hacer 'referencias directas' al rango seleccionado
[p.e.] prueba con las siguientes lineas de codigo [un cuadro de mensaje con algunas propiedades de rangos]...
[... otras lineas de tu codigo ...]
With Range(RefEdit1)
MsgBox "Direccion: " & .Address & vbCr & _
"Ubicacion: " & .Parent.Name & vbCr & _
"Num Filas: " & .Rows.Count & vbCr & _
"Num Cols: " & .Columns.Count & vbCr & _
"Num Celdas: " & .Count & vbCr & _
"Num Areas: " & .Areas.Count & vbCr & _
"Celda 1 = " & .Cells(1, 1) & vbCr & _
"Etc. etc. etc. :))"
End With
[... otras lineas de tu codigo ...]

saludos,
hector.
Respuesta Responder a este mensaje
#4 Emilio
23/08/2005 - 09:54 | Informe spam
Gracias Hector Miguel
efectivamente es así, la cuestión es que pretendo usarlo de modo indistinto,
como cuadro de texto o como selector de celda, por lo que supongo que deberé
buscar el contenido del rango seleccionado, si lo hubiera y si no el literal
en el escrito.

Gracias de nuevo

Saludos a
Emilio
miliuco56 ALGARROBA hotmail.com
http://www.mvp-access.com/foro
http://www.mvp-access.com/emilio


"Héctor Miguel" escribió en el mensaje
news:
hola, Emilio !

> ... ahora tengo otro problema, no se usarlo... como diferenciar si el


dato es un rango o es un literal
> ... algun modo directo de diferenciarlo, o he de trabajarmelo
> supongo que si en el texto hay un "$" y un "!" al mismo tiempo, contiene


un rango.

su contenido es una cadena de texto que te puede servir para hacer


'referencias directas' al rango seleccionado
[p.e.] prueba con las siguientes lineas de codigo [un cuadro de mensaje


con algunas propiedades de rangos]...
[... otras lineas de tu codigo ...]
With Range(RefEdit1)
MsgBox "Direccion: " & .Address & vbCr & _
"Ubicacion: " & .Parent.Name & vbCr & _
"Num Filas: " & .Rows.Count & vbCr & _
"Num Cols: " & .Columns.Count & vbCr & _
"Num Celdas: " & .Count & vbCr & _
"Num Areas: " & .Areas.Count & vbCr & _
"Celda 1 = " & .Cells(1, 1) & vbCr & _
"Etc. etc. etc. :))"
End With
[... otras lineas de tu codigo ...]

saludos,
hector.


Respuesta Responder a este mensaje
#5 Héctor Miguel
23/08/2005 - 10:26 | Informe spam
hola, Emilio !

... la cuestion es que pretendo usarlo de modo indistinto, como cuadro de texto o como selector de celda
... supongo que debere buscar el contenido del rango seleccionado, si lo hubiera y si no el literal en el escrito.



prueba con algo +/- como lo siguiente...
[... otras lineas de tu codigo ...]
Dim miRango As Range
On Error Resume Next
Set miRango = Worksheets(Range(RefEdit1).Parent.Name).Range(RefEdit1)
If Not miRango Is Nothing Then
MsgBox "Selección en el editor de referencias:" & vbCr & _
miRango.Parent.Name & vbCr & miRango.Address
Else
MsgBox "Texto en el editor de referencias: " & RefEdit1
End If
[... otras lineas de tu codigo ...]

saludos,
hector.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida