Jump to content

Archived

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

AlexanderS

Ejecutar calendario creado con VBA como Complemento

Recommended Posts

Hola a todos, resulta que estoy creando un calendario en VBA con un formulario para después compartirlo con el foro, pues bueno el calendario ya esta listo, pero mi idea es poder guardarlo como un complemento y que por medio de una simple linea este se pueda mostrar en algún Userform(No en celdas).

No tengo mayor dificultad si el formulario esta en el mismo libro donde esta el calendario pues con una simple linea se ejecuta sin problema, ejemplo en un textbox:

Private Sub CommandButton1_Click()
R_fecha TextBox1, Me
End Sub

Donde "R_fecha" es la función, seguida de las variable (control,nombre del formulario).

El problema es que como el calendario se guardara como un complemento el formulario donde quiero ingresar la fecha no estará en el mismo libro y no logro ejecutar el calendario, he intentado de esta forma sin éxito:

Private Sub CommandButton1_Click()
Application.Run "Calendario_RIDDLE!R_fecha", TextBox1, Me
End Sub

Alguna idea?

Adjunto el libro como complemento y un ejemplo normal de como funciona el calendario si esta en el mismo libro que el formulario en el que se quiere ingresar la fecha.

Saludos. 

Calendario_RIDDLE.xlsm

Calendario_RIDDLE.xlam

Link to post
Share on other sites

Abra el editor y no su suplemento altere el nombre VBAProject, para RIDDLE por ejemplo, salve as. Em seguido en Herramientas => Referencias y marque una referencia "RIDDLE". Veja más detalles aqui:

vbatut08d.gif

How to Use Your Excel Add-In Functions in VBA

Finalizando, o comando ficaria assim:

Private Sub CommandButton1_Click()
RIDDLE.R_fecha TextBox1, Me
End Sub

 

Link to post
Share on other sites

hola  y gracias de antemano por el aporte.

sr. riddle  agregue a mi libro el calendario y funciona bien , pero tengo una consulta como puedo cambiar los días de la semana para que empiece por lunes . el calendario empieza por domingo y me aparece que hoy es miércoles y estamos jueves y solo cuadra si inicia con lunes.

seria tan amable de ayudarme?

 

Link to post
Share on other sites
Hace 1 hora, psycho99killer dijo:

hola  y gracias de antemano por el aporte.

sr. riddle  agregue a mi libro el calendario y funciona bien , pero tengo una consulta como puedo cambiar los días de la semana para que empiece por lunes . el calendario empieza por domingo y me aparece que hoy es miércoles y estamos jueves y solo cuadra si inicia con lunes.

seria tan amable de ayudarme?

 

A ver si tenemos un poco mas de respeto hacia las normas del foro y a sus integrantes, esta consulta esta abierta por otro miembro del foro.

Tu consulta está fuera de lugar. Si tienes algo que aportar en este tema, hazlo, de lo contrario abre una consulta nueva.

 

Link to post
Share on other sites
Hace 22 horas, Riddle dijo:

Hola @Basole muchas gracias, es exactamente lo que buscaba, no conocía este método.

Me ha sorprendido lo sencilla que resulto la solución ya que estuve buscando bastante y no había encontrado nada.

He probado los pasos, pero no me ha funcionado  @Riddle a ti si? 

Link to post
Share on other sites

@Gerson Pineda me funciono sin problema en la computadora de mi trabajo y en mi casa, solo seguí los pasos al pie de la letra:

1. Abrí el complemento sin instalarlo y cambie el nombre del proyecto como lo muestra el gif de Basole, en mi caso le puse "CalendarioRiddle".

1.JPG.c14cf6f15730737585783ef8a77046a9.JPG

2.Instale el complemento y en el libro en el que quería utilizar el calendario le active la referencia "CalendarioRiddle"

2.JPG.30a0082cdc2516da7b88e6344df84346.JPG

3. Por ultimo solo cree un formulario con un textbox y un botón y le coloque el código así:

Private Sub CommandButton1_Click()
R_fecha TextBox1, Me
End Sub

Por cierto note que al activar la referencia aparece una nueva carpeta en el explorador de proyectos:3.JPG.0e516b3327dd9ff01eec063eff28309f.JPG

Saludos  

 

Link to post
Share on other sites

Me permite dar una sugerencia, en cuanto a la opción del color del calendario:

Ejemplo: Declarando la variable publicada en un modulo estándar

Public suColor as Long

Cambiar las propiedades de Label LFecha.BackColor = suColor y c.BackColor = suColor.
Y definiendo el color antes de llamar a la rutina:

Private Sub CommandButton1_Click()
suColor = vbGreen
R_fecha TextBox1, Me
End Sub

calendario.jpg.f525d8a3734c194df66be7b03ccdba7e.jpgcalendario1.jpg.6b95e3e3537adf63ac6e2b7708645011.jpg

Link to post
Share on other sites
Hace 3 horas, Basole dijo:

Me permite dar una sugerencia, en cuanto a la opción del color del calendario:

Lo voy a implementar como una variable opcional en la misma linea algo así:

Private Sub CommandButton1_Click()

R_fecha TextBox1, Me, vbGreen

End Sub

Saludos 

Link to post
Share on other sites

@Riddle me doy cuenta que todo lo había hecho bien, pero estaba invocando el calendario incorrectamente, cuando tenia que utilizar la función "R_fecha", también si me permites, te sugiero darle un nombre mas descriptivo, digo para que nadie se pierda como yo :D... por ejemplo "CalendarioR" [la "R" de Riddle]

Respecto al color del calendario me parece buena idea, dejarlo como opcional, pues para gusto los colores!

 

Saludos

Link to post
Share on other sites
Guest
This topic is now closed to further replies.

INFORMACIÓN BÁSICA SOBRE PROTECCIÓN DE DATOS

Responsable: Sergio Andrés Celemín

Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.

Legitimación: Consentimiento del interesado.

Destinatarios: Hetzner Online GmbH.

Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso,
rectificación, supresión, oposición y demás derechos legalmente establecidos a
través del email sergio@ayudaexcel.com.

Información adicional: Encontrarás más información en la política de privacidad.




  • Posts

    • Hola compañeros del foro,   Tengo el siguiente problema de novato con el presente array que he creado: Este es el código: Option Explicit Option Base 1 Sub adminTemp() Dim admin As String admin = Array("...", "...", "...", "...", "Administrador", "Conectado", "...", "...") Dim fila As Long fila = Sheets("CONEXIONES").Range("A1048576").End(xlUp).Row Dim columna As Byte For columna = 1 To UBound(admin) If Sheets("CONEXIONES").Cells(fila, columna).Value = admin(columna) Then Sheets("CONEXIONES").Rows(fila).Delete Shift:=xlUp Next columna End Sub En otras palabras, me dice que el problema está en la declaración de la variable "admin", pues la declaro como una cadena de caracteres, en cambio cuando la misma variable la declaro como un variant, entonces la macro si funciona correctamente. Pero no quiero declarar el array como un tipo variant cuando sólo contiene valores de tipo string, y ocupar espacio innecesario de memoria.   Sería de ayuda que cualquier orientación sobre este problema...
    • Estoy de acuerdo con @Sergio, es díficil encontrar documentación oficial sobre el código XML de la ribbon.
    • Muchísimas gracias por la corrección, @JSDJSD. Y muchas gracias también por compartir ese vídeo. Efectivamente, me percaté de ese error cuando me pasó el código @Antoni.   Te felicito por tu corrección. Con gente como vosotros, da gusto compartir conocimientos a través de este foro. Mil gracias de nuevo.   Saludos.
    • Ya lo hice pero con gusto lo hago nuevamente, y soy afortunado  Gracias   
    • Buenas noches Ya cheque la modificación y es exactamente lo que no sabía como hacer, mis respetos y mi agradecimiento,  Un saludo desde Irapuato, Gto. México   Gracias 
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy