Jump to content

definir posicion del userform al iniciar


viejo

Recommended Posts

como puedo poner la ubicacion de donde debe aparecer el userform, es decir; en que parte de la pantalla quiero que aparesca, resulta que redimensiono las medidas del userform pero al redimensionarlas la posicion en la que aparece en la pantalla se vuelve invisible (a los ojos humanos no a nivel de programacion).

por ejemplo quiero que aparesca con la esquina superior izquiera del userform en la esquina superior izquierda de la pantalla. ¿como lo logro?

anexo archivo

Dardimensiones_a_Userform.xls

Link to comment
Share on other sites

Hola:

Prueba con esto:

Private Sub UserForm_Initialize()

Me.StartUpPosition = 0 'Manual
Me.Top = 0 'Desde la parte superior
Me.Left = 0 'Desde el margen izquierdo

End Sub


[/CODE]

Link to comment
Share on other sites

Hola:

No se a que te refieres con 35º a la derecha.

Este código te coloca el formulario en la celda F5:

Private Sub UserForm_Initialize()

Me.StartUpPosition = 0 'Manual
Me.Top = [F5].Top + 135
Me.Left = [F5].Left + 18

End Sub[/CODE]

Link to comment
Share on other sites

Guest Héctor Miguel
Este código te coloca el formulario en la celda F5:

(hasta donde se) ese "ajuste" que haces en el código (+ 135 y + 18) va a funcionar exclusivamente "bajo ciertas condiciones" (aquellas que coincidan con la configuración de TU equipo) p.e. si se muestran (o no)...

- los encabezados de fila y columna

- cinta y/o barras de herramientas (y cuantas)

- la fuente y tamaño del estilo normal en uso

- el 'zoom' de la ventana, etc. etc. etc.

coincido en pedir que OP sea mas claro, conciso y especifico en cuanto a que es (realmente) lo que necesita "controlar" (???)

en vía de mientras, consultar en esta pagina:

Form Positioner

saludos,

hector.

Link to comment
Share on other sites

Ya lo se Hector, pero mientras el amigo hermesc no precise un poco mas lo de los grados a "babor" y a "estribor" no pensaba incidir en esta cuestión.

En cualquier caso, se agradece la colaboración.

Por cierto, muy bueno el link de cpearson.

Link to comment
Share on other sites

bueno lo unico que busco es ver si se puede mover de una manera mas flexible y no algo tan rigida (como el hecho que solo aparesca en la esquina superior izquierda o derecha o esquina inferior izquierda o derecha o en el centro de la pantalla), y es que no me imagino nada solo algo asi como moverlo en una plano xy de la pantalla.

Link to comment
Share on other sites

creo me confunden mis comentarios pero creo que no importa, no habia leido el link que me enviaste hector y creo que ya encontre la respuesta por lo que no me queda mas que agradecer su tiempo y las aportaciones a ambos. Lo declaro tema solucionado

Link to comment
Share on other sites

  • 5 months later...

Archived

This topic is now archived and is closed to further replies.

  • Crear macros Excel

  • Posts

    • Primero estabas haciendo referencia a  listboxpalau el cual no existe porque el tuyo se llama ListBox1 y segundo estabas utilizando  RemoveItem que cuando cargas el listbox con RowSource no aplica.
    • @Sergio primeramente pido disculpas por usar este hilo, pero tengo la siguiente consulta porque ya no se me permite adjuntar archivos en el foro?
    • Hola @ffernando, A la espera de que te pueda ayudar alguien con mas conocimientos que yo, a ver si te sirve. Primero de todo, debes tener los 2 archivos excel en una misma carpeta.  Uno con las macros y otro con la "Base de datos" En el archivo con macros debes crear 2 procesos: Function IsFileOpen(FileName As String) Dim iFilenum As Long Dim iErr As Long On Error Resume Next iFilenum = FreeFile() Open FileName For Input Lock Read As #iFilenum Close iFilenum iErr = Err On Error GoTo 0 Select Case iErr Case 0: IsFileOpen = False Case 70: IsFileOpen = True Case Else: Error iErr End Select End Function y este otro  Sub LiberarBarra() Application.StatusBar = False End Sub estos 2 procesos los debe tener en un modulo. Por último debes poner el siguiente código en el botón que hayas asignado para realizar la entrada de datos. Dim objExcel As Application Dim RutaArchivo As String Dim Texto As String Dim Fila As Integer Dim Final As Integer Texto = "Guardando los datos" Application.StatusBar = Texto Set objExcel = CreateObject("Excel.Application") With objExcel RutaArchivo = ThisWorkbook.Path & "\NOMBRE DEL LIBRO QUE ALMACENARA LOS DATOS.xlsx" If IsFileOpen(RutaArchivo) Then MsgBox "El libro debe estar cerrado para proceder." Exit Sub Else With .Workbooks.Open(RutaArchivo) For Fila = 2 To 1000 If .Worksheets("NOMBRE DE TU HOJA DESTINO").Cells(Fila, 1) = "" Then Final = Fila Exit For End If Next COPIA ESTA LINEAS PARA CADA UNO DE TUS BOX PARA REALIZAR LA ENTRADA DE DATOS .Worksheets("NOMBRE DE TU HOJA DESTINO").Cells(Final, 1) = ME.TXT_NOMBRE DE TU BOX .Worksheets("NOMBRE DE TU HOJA DESTINO").Cells(Final, 2) = ME.TXT_NOMBRE DE TU BOX COPIA ESTA LINEAS PARA CADA UNO DE TUS BOX PARA REALIZAR LA ENTRADA DE DATOS ME.TXT_NOMBRE DE TU BOX.Value = Empty .Close SaveChanges:=True End With End If End With Call LiberarBarra MsgBox "Datos guardados correctamente!" End Sub Con esto debería de funcionarte. De todos modos, si compartes el archivo será mucho mejor. Saludos,
    • Hola tod@s!!! me gustaría saber como puedo capturar los datos de un formulario a un otro libro (que no sea el libro que contiene la macro con el form). La idea es que varias personas puedan ir criando datos desde formularios "personales" y que estos datos generados por todos sean grabados  una única hoja. ahora mismo tengo el formulario funcionando, pero cada usuario guarda en "su archivo" la información. :( les agradezco de antemano toda la ayuda!!!
    • Hola sagamoal Ser miembro de paga, te da algunas ventajas, como subir archivos. Prueba esta formula, deberás adecuar a tus rangos =SI(INDICE(MES(Hoja1!$D$5:$D$9)=7,COINCIDIR(B6,Hoja1!$B$5:$B$9,)),INDICE((Hoja1!$D$5:$D$9,Hoja1!$E$5:$E$9),COINCIDIR(B6,Hoja1!$B$5:$B$9,),,SI(Hoja2!C6="i",1,2)),"") B6 es el código, y lo busca en la hoja 1 en la columna que corresponda. te adjunto imágenes para que te guíes. hoja1 Espero te sea de utilidad Saludos, Silvia   Hoja2    
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy