** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - Caption de un userForm
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoCaption de un userForm

 Responder Responder
Autor
Mensaje
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 2009
Enlace directo a este mensaje Tema: Caption de un userForm
    Enviado: 29/Marzo/2020 a las 17:22
Hola,

tengo creado un userForm en una tabla excel para introducir el nombre de los proveedores, y ahora que dispongo de tiempo, hay algua forma de eliminar el caption que sale blanco, o si se puede colorear del mismo color del fondo (ya sé que si lo hago todo blanco se  soluciona) pero es un color muy aburrido.

Saludos, ximo
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5632
Enlace directo a este mensaje Enviado: 29/Marzo/2020 a las 22:29
Con «UserForm» … ¿Estás hablando de un formulario VBA?

¿El «... caption que sale blanco»?. El Caption que conozco es el título de algunos objetos del formulario, incluso el del propio formulario, pero blanco... Ouch

Me temo que deberás facilitar 'algo más' de información.


Aprendemos intentando resolver dudas ajenas (ayuda cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 2009
Enlace directo a este mensaje Enviado: 30/Marzo/2020 a las 08:41
Hola,

pues quizás me he explicado mal.
La barra de título del formulario cuando lo ejecutas sale blanca en mi caso Excel 2010.
No he encontrado la forma de cambiar el color para igualarlo con el fondo del formulario, los formularios en access son vastante más flexibles en cuanto a personalización por lo que voy viendo.

Se trata de un pequeño formulario que acoge un combo y dos botones (cancelar y aceptar) que cuando entro en la celda y está vacía muestra este formulario para poner el nombre del proveedor y dependiendo del mismo solo con teclear la primera letra ya lo tengo con el consiguiente ahorro de tiempo, la verdad es que estoy contento con el funcionamiento, no así con el aspecto.


Saludos, ximo
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana
Arriba
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 2009
Enlace directo a este mensaje Enviado: 30/Marzo/2020 a las 13:17
Hola,

creo que esta solucionado, no puedo cambiar el color, pero puedo eliminar la barra de título y el botón de cerrar.

Option Explicit
Const GWL_STYLE = -16
Const WS_CAPTION = &HC00000
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

'Posición del formulario
Dim FormX As Double, FormY As Double


Private Sub UserForm_Initialize()
Dim lngWindow As Long, lFrmHdl As Long
lFrmHdl = FindWindowA(vbNullString, Me.Caption)
lngWindow = GetWindowLong(lFrmHdl, GWL_STYLE)
lngWindow = lngWindow And (Not WS_CAPTION)
Call SetWindowLong(lFrmHdl, GWL_STYLE, lngWindow)
Call DrawMenuBar(lFrmHdl)
End Sub
Private Sub CommandButton1_Click()
'Escribe el texto en la celda activa.
 ActiveCell.Value = Me.ComboBox1.Value
 ActiveCell.Offset(0, 2).Activate
'Cierra el formulario
Unload Me

End Sub


Private Sub CommandButton2_Click()
'cierra el formulario
Unload Me
End Sub

Private Sub UserForm_Activate()
ComboBox1.List() = Hoja9.Range("A2:A" & Hoja9.Range("A" & Rows.Count).End(xlUp).Row).Value
ComboBox1.SetFocus
End Sub

Private Sub UserForm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 1 Then
FormX = X
FormY = Y
End If
End Sub
Private Sub UserForm_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 1 Then
Me.Left = Me.Left + (X - FormX)

Esto funciona bien o más que bien, ahora tengo otra duda relacionado con esto, para poner yo el título mediante etiqueta o cuadro de texto, me encuentro con el problema que no se como hacer la letra en negrita ni aumentar el tamaño, es como si excel fuera el pariente pobre de access, opinion muy particular mia, me encantaría estar equibocado, no me supondría nada el tener que pedir perdón, pero...


Saludos, ximo
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana
Arriba
ximo Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 03/Marzo/2006
Localización: España
Estado: Sin conexión
Puntos: 2009
Enlace directo a este mensaje Enviado: 30/Marzo/2020 a las 13:26
Hola,

Pues me auto respondo, si clicamos en font se nos abre un formulario para cambiar el tipo de letra, tamaño he intensidad.

Me imagino que tendrá más cosas escondidas pero de momento las desconozco, a ver si le voy sacando las tripas.


Podemos cerrar si gustais.


Saludos, ximo
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana
Arriba
AnSanVal Ver desplegable
Administrador
Administrador
Avatar

Unido: 16/Marzo/2005
Localización: España
Estado: Sin conexión
Puntos: 5632
Enlace directo a este mensaje Enviado: 31/Marzo/2020 a las 00:54
Yo también tengo 2010 y también sigo sin saber si es un formulario VBA o no, pero... así sea.

Aprendemos intentando resolver dudas ajenas (ayuda cuando puedas/sepas).

Mi sitio_web con ejemplos Excel.
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable