Todo se publica por Antoni
-
Menú de botones
Vamos por orden: A _ST: Gracias por las sugerencias, las estudio y te comento. A Luis: En tu archivo, posicionate encima del formulario, click y F5. Si quieres hacerlo bonito: 1º) Añade esta macro que muestra el formulario Sub MostrarFormulario() Userform1.Show End sub [/CODE] 2º) Añade una forma o una imagen 3º) Click derecho sobre el objeto, escoge Asignar macro, y escoge la macro MostrarFormulario. 4º) Pulsa sobre el objeto/imagen, y el formulario se ejecutará. [b]A Agerman[/b]: Abre el archivo que envié, verás que hay un conjunto de hojas, es solo para ver el funcionamiento de la macro, valdria cualquier otro libro. 1º) Pulsa Alt+F8 y ejecuta la macro "CrearFormularioMenú" Esta macro, genera un formulario (Userform1) como si lo hubieras hecho tu manualmente, verás que hay un botón por cada hoja del libro. 2º) Sigue la respuesta de Luis. Saludos a todos.
-
Menú de botones
Hola Abraham: De acuerdo con todas tus precisiones, y con esta en especial. Se me olvidó comentar que la macro debe estar en un módulo normal. He modificado la macro para que no copie las Apis, las he declarado como Public en la propia macro con lo que no se hace necesario incluirlas en el formulario. Para que quede mas claro, adjunto un libro con el que ejecutar la macro y ver sus efectos. Libro con la macro que genera formulario de botones Gracias Abraham por tu interés. Saludos a todos.
-
Trabajar con SpecialCells
Hola sailepati: Buena e importante observación. Gracias y saludos. Antoni.
-
Menú de botones
Hola: Pienso que es un problema de seguridad. Abre Excel, Boton office\Opciones excel\Centro de confianza\Configuración de macros y activa "Confiar en el acceso al modelo de objetos de proyectos de VBA". Ata logo.
-
Menú de botones
Y el texto del error debe estar de color blanco porqué no lo veo, jajaj. Estoy intentando subir una imagen con las referencias. Pincha aquí para ver las referencias
-
Menú de botones
Hola Luis: Tranquilo, si soporto a mi suegra y a mi cuñada, puedo soportar cualquier cosa....jajaja. Mi versión de Extensibily tambien es la 5.3. (Voy a modificar el post) ¿ Que texto de error te da ?
-
Menú de botones
Hola Luis: No, no has hecho nada mal, añade la referencia Microsoft Forms 2.0 Object Library (FM20.DLL) , y por si acaso asegurate de tener también la referencia Microsoft Visual Basic for Applications Extensibility 5.3 (No se que DLL es). Saludos. Antoni.
-
Trabajar con SpecialCells
Hola de nuevo: Maldecireis el día que entré en este foro,, ja,ja,ja... Ahora me voy a poner un poco mas serio, últimamente he descubierto el potencial de SpecialCells, cosa que ha supuesto un gran descubrimiento para mi porqué lo desconocía. Por si os interesa ahí va un ejemplo para encontrar todas las fórmulas en la hoja hoja activa, ni que decir tiene que ActiveSheet.Cells, puede ser sustituido por cualquier rango. ' ActiveSheet.Cells.SpecialCells(xlCellTypeFormulas).Select For Each Celda In Selection.Cells 'Aquí incluimos lo que hay que hacer para cada celda Next [/CODE] Pues lo mismo para: [CODE]'xlCellTypeAllFormatConditions Celdas con cualquier formato. 'xlCellTypeAllValidation Celdas con criterios de validación. 'xlCellTypeBlanks Celdas vacías. 'xlCellTypeComments Celdas que contengan notas. 'xlCellTypeConstants Celdas que contengan constantes. 'xlCellTypeFormulas Celdas que contengan fórmulas. 'xlCellTypeLastCell La última celda del rango. 'xlCellTypeSameFormatConditions Celdas que tengan el mismo formato. 'xlCellTypeSameValidation Celdas que tengan los mismos criterios de validación. 'xlCellTypeVisible Todas las celdas visibles [/CODE] Y para complementar el aporte, nada mejor que las respuestas de Maurico en: -duda-en-specialcells-type-value-11641/"]https://www.ayudaexcel.com/foro/f10/[solucionado]-duda-en-specialcells-type-value-11641/ Saludos a todos y "happy weekend". Antoni.
-
Menú de botones
Hola: ¡¡ Lo he conseguido !! Me he superado a mi mismo, os adjunto el aporte mas inútil de la historia del foro. Se trata de una macro: Esta macro, crea un formulario con un botón con el nombre cada hoja .Al ejecutar el formulario, se activa la hoja con el nombre del botón .Al formulario, se le han añadido las Apis para poder minimizarlo Y ahora os preguntareis. ¿Pero eso no es exactamente lo mismo que el tab de hojas?. Pues efectivamente, es lo mismo que el tab de hojas, pero mas grande, mas feo y mas complicado. Ya se había inventado la rueda, pero yo, la he reinventado, la he hecho cuadrada, para que no haga falta ponerle freno de mano a los coches. Para probar esta maravilla del progreso humano, solo teneis que abrir cualquier libro, si puede ser con varias hojas, y hacer correr la macro "CrearFormularioMenú", luego ejecutar el formulario generado, y a pulsar botones. Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long Private Const WS_MINIMIZEBOX As Long = &H20000 Private Const WS_MAXIMIZEBOX As Long = &H10000 Private Const GWL_STYLE As Long = (-16) '------------------------------------------------- Private Sub UserForm_Initialize() Dim lngMyHandle As Long, lngCurrentStyle As Long, lngNewStyle As Long '------------------------------------------------- lngMyHandle = FindWindow("THUNDERDFRAME", "Menú general") lngCurrentStyle = GetWindowLong(lngMyHandle, GWL_STYLE) lngNewStyle = lngCurrentStyle Or WS_MINIMIZEBOX 'Or WS_MAXIMIZEBOX SetWindowLong lngMyHandle, GWL_STYLE, lngNewStyle End Sub ' '¡¡¡ NO AÑADIR/QUITAR/MODIFICAR NADA ANTES DE ESTA LINEA !!! ' '-------------------------------------------------------------------- ' Esta macro, crea un formulario con un botón con el nombre cada hoja ' .Al ejecutar el formulario, se activa la hoja con el nombre del botón ' .Al formulario, se le han añadido las Apis para poder minimizarlo '-------------------------------------------------------------------- ' Sub CrearFormularioMenú() Dim Formulario As Object Dim Boton As MSForms.CommandButton '----------------------------- AÑADIMOS EL FORMULARIO ----------------- Set Formulario = ActiveWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm) With Formulario .Properties("ShowModal") = False .Properties("Caption") = "Menú general" .Properties("Width") = 158 .Properties("Height") = Sheets.Count * 50 + 28 End With '------------------------------ AÑADIMOS LAS APIS ---------------- Set Desde = ActiveWorkbook.VBProject.VBComponents("Módulo1").CodeModule With ActiveWorkbook.VBProject.VBComponents(Formulario.Name).CodeModule .InsertLines .CountOfLines + 1, Desde.Lines(1, 19) End With '-------------------------------------------------------------------------- X = ActiveWorkbook.VBProject.VBComponents(Formulario.Name).CodeModule.CountOfLines + 1 For m = 1 To Sheets.Count Set Boton = Formulario.Designer.Controls.Add("forms.CommandButton.1") With Formulario '-------------- AÑADIMOS UN COMMANDBUTTON POR CADA HOJA --------------- .Designer.Controls(Formulario.Designer.Controls.Count - 1).Name = "Boton" & m .Designer.Controls(Formulario.Designer.Controls.Count - 1).Caption = Sheets(m).Name .Designer.Controls(Formulario.Designer.Controls.Count - 1).Width = 150 .Designer.Controls(Formulario.Designer.Controls.Count - 1).Height = 50 .Designer.Controls(Formulario.Designer.Controls.Count - 1).Top = 2 + 50 * (m - 1) .Designer.Controls(Formulario.Designer.Controls.Count - 1).Left = 2 '--------------- AÑADIMOS EL EVENTO CLICK PARA CADA COMMANDBUTTON ---- .CodeModule.InsertLines X, "Private Sub Boton" & m & "_Click()": X = X + 1 .CodeModule.InsertLines X, "Sheets(""" & Sheets(m).Name & """).Activate": X = X + 1 .CodeModule.InsertLines X, "End Sub ": X = X + 1 '---------------------------------------------------------------------------------- End With Next m End Sub [/CODE] Que el Señor os de paciencia para aguantarme en mi demencia. Os tengo presentes en mis oraciones. Antoni. [b][i][size=5][color=red]¡ Importante ! Ver posts Nº 10 y Nº 12[/color][/size][/i][/b]
-
Excel 5.0
¡¡¡ cuidado !!! Al entrar en la pagina, me da una alerta de infeccion por virus. ARCHIVO: ........\panama.js Virus indeterminado
-
[CERRADO] El Pollito (para el relax)
Hola Julio: Si no te llamas Julio, ¿Como te llamas?. Un abrazo. Antoni. PD. Por lo que veo, todos tenemos unos añitos. ¿Y si montamos un geriatrico?...ja...ja
-
[CERRADO] El Pollito (para el relax)
Muy bueno Julio, lástima que no se le pueda dar de verdad.
-
Eliminar filas con duplicados Excel 2007
Hola Gerson: Di por supuesto que se entendería que era en Excel 2007 por el comentario que hice, pero como suponer es la mejor manera de equivocarse, he modificado el título del aporte. Gracias por la aclaración , un saludo muy cordial. Antoni.
-
Eliminar filas con duplicados Excel 2007
Hola: Estoy con mi Excel 2007 como un niño con un juguete nuevo. Para eliminar filas duplicadas: ActiveSheet.Cells.RemoveDuplicates Columns:=1[/CODE] En este ejemplo eliminaremos todas las filas con duplicados en la columna 1. No es necesario ningún orden especial. Se conserva la primera fila del grupo. Saludos. Antoni.
-
[Cerrado]¡¡Dar las gracias!!
Hola: Parece que hay algún que otro problemilla para subir archivos. Abre una cuenta en Skydrive, y podrás subir archivos de forma inmediata, mientras nuestro "SuperJuli" nos lo arregla. Salu2. Antoni.
-
[CERRADO] Por fin... Ya se pueden subir Archivos.
Hola "Juli", a mi no me dan miedo tus ojos,, je,je,, De donde yo soy, Galicia, dicen que no se sabe cuando vamos o cuando venimos. Pues eso, como buen Gallego, a vece si, a veces no, pues eso es lo que me pasa al subir un archivo, que a veces lo sube y otras veces no lo sube. Hago una prueba, en este mismo momento...... Vacío la caché por si acaso......., borro el historial para asegurar el tiro....... y vamos a subir el archivo......¡¡¡ Ha funcionado !!!!, voy a probarlo otra vez, pero ahora sin red, pues también a funcionado............ No entiendo nada, esta mañana lo he intentado varias veces y no ha funcionado. ¿ Se estará volviendo gallego el foro ? Salu2, y..... seguiremos informando. Antoni. Dejo el archivo como prueba. 3CommandButton.zip
-
[CERRADO] Pésame por Maamtur (Miguel Ángel Álvarez)
No tuve el placer de conocerle, pero siempre es una pena perder a un compañero del foro. Que su recuerdo permanezca siempre entre los que quiso y los que le quisieron.
-
Mensajes con duración determinada
Re: Mensajes con duración de determinada Tranquilo Abraham, en ningún momento me lo tomé como un reproche, al contrario. Saludos cordiales. Antoni.
- Otra de calculadoras
-
Mensajes con duración determinada
Re: Mensajes con duración de determinada Hola: Intento no repetir temas, pero entre mi memoria y lo extenso del foro, a veces se hace imposible. Saludos a ambos.
-
Mensajes con duración determinada
Hola: He encontrado en Daily Dose of Excel esta curiosidad que, yo particularmente, desconocía: Mensajes que solo están visibles cierto tiempo. Sub MensjeConTiempo() Tiempo = 3 'Segundos x = CreateObject("WScript.Shell").PopUp("Este mensaje solo durará " & _ Tiempo & " segundos", Tiempo, "Mensaje de duración determinada") End Sub [/CODE] Saludos. Antoni. PD: Por poco inglés que sepais, os recomiendo seguir los foros de "Feeds de otras Webs", hay autenticas maravillas.
-
[CERRADO] Por fin... Ya se pueden subir Archivos.
Hola de nuevo: Hoy vuelvo a no poder subir archivos, he vuelto a borrar historial y caché pero nada de nada. ¿¿¿¿ ¡¡¡¡ ???? Salu2. Antoni.
-
Imprimir por las dos caras en una impresora que no imprime a doble cara
Hola: Se me ha ocurrido que a lo mejor le interesa a alguien este formulario que subo. El formulario, permite imprime las hojas de un libro a dos caras. El procedimiento de impresión es el siguiente, se imprimen primero las hojas que ocupan un lugar impar en la colección Worksheets, de menor a mayor, luego, y una vez finalizada esta impresión, debe procederse a girar, en bloque, las páginas impresas, luego se imprimen las páginas que ocupan un lugar par en la colección Worksheets, de mayor a menor. Ejemplo 11 hojas: Se imprimen las hojas 1,3,5,7 y 9 giramos en bloque las 5 hojas impresas Luego se imprimen las hojas 10,8,6,4,2 y en último lugar la hoja 11 Limitación importante: Solo funciona correctamente en hojas de 1 sola página a imprimir. Salu2. Antoni. ImprimirDosCaras.zip
-
[CERRADO] Por fin... Ya se pueden subir Archivos.
Hola: Gracias a todos, ya he limpiado todo lo limpiable y ya puedo subir archivos. Salu2. Antoni.
-
Otra de calculadoras
Lo intentaré Gerson, pero soy un inútil para estas cosas. Salu2. Calculadora Voy a probarlo... Pues parece que funciona.