incrustar celda tipo Calendario ( "Comienso") de MsProjet en excel

16/09/2005 - 22:02 por jaraya | Informe spam
Como puedo hacer para tener una celda en Excel, como las de la columna
"Comienso" de Ms Project en la cual se despliega un calendario y uno elije la
fecha.Que es lo que uno visualisa.
Es decir que para poner una fecha uno elija dentro de la hoja del calendario.
Se puede exportar este tipo de celdas a excel?

Preguntas similare

Leer las respuestas

#6 jaraya
18/09/2005 - 03:57 | Informe spam
Gracias funciono de primera, super, te hago una consulta que pagina,libro,
web etc, se puede ver ejemplos paracticos de este tipo de macro o de
programaciones que vos dominas tan bien.Te reformulo, como puedo llegar a
aprender algo de lo vos dominas tan ben
Saludos y muchas gracias Juan

"Héctor Miguel" escribió:

hola, jaraya !

> ... funciono el segundo codigo, pero aparece el calendario en la columna vecina ala celda activa
> ... quiero que apraesca el calendario en la misma celda activa y no en la inmediatamente a la derecha.

-> tambien te habia puesto una propuesta para esa 'variante' en el mensaje que 'colgaste' de una consulta anterior...
-> suponiendo que 'la columna' es la 'D'... [creo que es lo mas parecido al ms-project] ;)
en el modulo de codigo de 'esa' hoja ==> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With DTPicker1
.Visible = Not Intersect(Target, Range("d:d")) Is Nothing
.Top = Target.Top - 1: .Left = Target.Left
End With
End Sub
Private Sub DTPicker1_Change()
ActiveCell = CDate(DTPicker1)
End Sub

saludos,
hector.



Respuesta Responder a este mensaje
#7 Héctor Miguel
18/09/2005 - 04:43 | Informe spam
hola, Juan !

... que pagina,libro, web etc, se puede ver ejemplos paracticos de este tipo de macro o de programaciones
... como puedo llegar a aprender algo [...]



=> me gustaria decirte que leyendo 'tales o cuales' libros ... [pero, estaria siendo 'excluyente'] ;)
todo material de estudio [manuales, {F1}, libros,cursos, web's, estos foros, etc.] ->es excel...ente<-
mas bien [creo yo que], cada quien 'avanza al ritmo que puede/quiere/necesita' ;)
ademas considera que [en muchas de las ocasiones]
-> 'buscando una cosa'... 'encuentras... otra' [que se te habia 'perdido']
-> o ['te topas' con] 'la hermana que se escapo de su prision' [sor-presa... ¡ NO esta !!!] :))
=> cuando 'se atora la carreta' [que nos sucede a todos] :-(
NO es 'imprescindible' saberlo todo ;) es suficiente con saber...
el telefono del que sabe... o el e-mail... o la web... o... ¿porque no consultas en el foro? :D

saludos,
hector.

p.d. podrias inciar con algunas paginas de las multi-citadas/recomendadas en foros como este en...

[de parte de KL]...
Charles Williams (DecisionModels): http://www.decisionmodels.com/
Tushar Mehta: http://www.tushar-mehta.com/excel/
Laurent Longre: http://xcell05.free.fr/
Rob Bovey: http://www.appspro.com/Tips/Tips_And_Tricks.htm
Stephen Bullen' Excel MVP's page: http://www.bmsltd.ie/MVP/Default.htm
Jurgen Volkerink (KeepItCool): http://members.chello.nl/keepitcool/addins.html
Matt Evans: http://www.exinfm.com/free_spreadsheets.html
Karl Peterson: http://vb.mvps.org/samples/
Bob Umlas: http://www.emailoffice.com/excel/ar...umlas.html
Carlo Quintero: http://www.mztools.com/
Van Gelder: http://homepages.paradise.net.nz/~robree/excel/
MiStupid (Training Online): http://mistupid.com/tutorials/excel/
ExtremeVBTalk(newsgroup): http://www.visualbasicforum.com/

algunas en castellano...
http://www.franciscopascual.com/Arc...202002.zip
http://www.javeriana.edu.co/decisio...icios.html
http://www.javeriana.edu.co/cursad/...iento.html
http://members.fortunecity.es/tonelorc/eexcel.html
http://www.aulaclic.es/excel2000/f_excel2000.htm
http://64.226.188.26/sivnetwork-www/cursos_gratis/excel/Excel.htm
http://www.territoriopc.com/excel/
http://interinfo.iespana.es/interin...les_ig.htm
http://www.fullwebs.com.uy/endondee.../excel.pdf
http://office.arnulfoperez.com/excel/
http://lacher.com/toc.htm
http://www.sistemaslym.net/vba/excel/excel.html
http://es.geocities.com/lacibelesde...macros.htm
http://es.geocities.com/lacibelesde...acros1.htm
http://www.macroheavy.com/excel/excel.asp
http://www.geocities.com/gorita_2000/VBA.htm
http://www.excelavanzado.com/
http://www.xtec.es/~rlloren4/KBEsp2.htm
http://www.exceluciones.com/portal/...p?article5
Respuesta Responder a este mensaje
#8 Henry Sanchez
18/09/2005 - 04:45 | Informe spam
Hola Hector

Una duda,

como es que se registra el componente
el componente [+/- C:\Windows\System[32]\mscomct2.ocx]...

otra duda, como podria yo desde codigo darme cuenta si en un equipo este
componente esta registrado, esto con el fin de evitar que se generen errores
cuando se corran mis aplicaciones en varios equipos.

Saludos,

Henry

"Héctor Miguel" escribió:

hola, jaraya !

> ... tener una celda en Excel, como las de la columna "Comienso" de Ms Project
> ... en la cual se despliega un calendario y uno elije la fecha que uno visualisa [...]

-> puedes incrustar un control DTPicker [Date&Time] o... un control Calendar...
puede ser 'directamente' en una hoja de calculo o... a traves de un formulario de usuario
-> [p.e. en la hoja]: [menu] insertar / objeto... o desde la barra de herramientas 'cuadro de controles' / mas controles...
control calendar x.x [segun la version de office] o...
Microsoft Date and Time Picker x.x [SPx] -segun numero de version y service-pack del archivo-

-> suponiendo que seleccionaste el control calendario [incrustado en la hoja]...
y deseas que se muestre SOLO si [en esa hoja] se selecciona de entre el rango 'A1:A5'...
y que el resultado de la seleccion se ponga en la celda 'activa'...
en el modulo de codigo de 'esa' hoja ==> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Calendar1.Top = ActiveCell.Top
Calendar1.Left = ActiveCell.Width + 5
Calendar1.Visible = Not Intersect(ActiveCell, Range("a1:a5")) Is Nothing
End Sub
Private Sub Calendar1_Click()
ActiveCell = CDate(Calendar1)
End Sub

-> suponiendo que seleccionaste el control calendario [incrustado en la hoja]...
y deseas que se muestre SOLO si [en esa hoja] se selecciona de entre el rango 'B1:B4' y 'C7'...
y que el resultado de la seleccion se ponga en la celda 'activa'...
en el modulo de codigo de 'esa' hoja ==> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
With DTPicker1
.Visible = Not Intersect(Target, Range("b2:b4,c7")) Is Nothing
.Top = Target.Top - 1: .Left = Target.Left + Target.Width + 2
End With
End Sub
Private Sub DTPicker1_Change()
ActiveCell = CDate(DTPicker1)
End Sub

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.

p.d. el control DTPicker requiere que esta instalado y registrado...
-> el componente [+/- C:\Windows\System[32]\mscomct2.ocx]...
el control calendar requiere que este instalado y registrado...
-> el componente [C:\Archivos de programa\Microsoft Office x.0\Officexx\MSCal.ocx]



Respuesta Responder a este mensaje
#9 Héctor Miguel
18/09/2005 - 10:17 | Informe spam
hola, Henry !

... como es que se registra el componente [+/- C:\Windows\System[32]\mscomct2.ocx]...
... como podria yo desde codigo darme cuenta si en un equipo este componente esta registrado
... con el fin de evitar que se generen errores cuando se corran mis aplicaciones en varios equipos.



al final del presente expongo una forma de verificar/registrar el componente para usar el control DTPicker ;)
[antes]... existen algunos 'detalles' que 'deberas' tener en cuenta [p.e.]
-> no se si estes incluyendo alguna rutina de 'instalacion' para tus aplicaciones -?-
[en su caso] deberas revisar tus 'permisos/derechos/licencia/...' para distribuir el componente con tus aplicaciones :-(
-> si estas desarrolando para usuarios 'multi-plataformas'... windows y office/excel...
podria haber [mas] 'detalles' [de compatibilidad] con respecto de la version que estes 'empaquetando' [p.e.]
la carpeta del sistema [system o system32] 'depende' de la version de windows [95/98/me <-> nt/2000/xp]
la libreria [mscomct2.ocx] se incluye en la version VB6 [office 2000] ->creo que a partir de xp YA NO se 'distribuye'<- :-\
en la version office/excel '97 tiene 'soporte' -pero- SOLO a traves de formularios... NO como objeto incrustado en hoja/s :-(
-> en caso necesario... 'deberas/podras' solicitar a tus usuarios que descargen/instalen el componente desde...
http://activex.microsoft.com/contro...COMCT2.CAB
-> encontraras informacion adicional acerca del control en...
http://msdn.microsoft.com/library/d...ontrol.asp
-> estoy usando una API para detectar si la carpeta de sistema es 'system'... o... 'system32'
-> una cosa es que el componente este en la carpeta del sistema... y OTRA que este 'registrado'
[ademas]... 'el nombre' que se registra/detecta es 'ligeramente' diferente entre aplicaciones [excel / vba]

si cualquier duda [o informacion adicional]... comentas?
saludos,
hector.
copia las siguientes lineas en el modulo de codigo del libro [ThisWorkbook] ==Private Const Control As String = "\MSComCt2.ocx"
Private Const Control_VBA As String = "mscomctl2"
Private Sistema As String, Libreria As String
Private Declare Function CarpetaDeSistema _
Lib "Kernel32" Alias "GetSystemDirectoryA" ( _
ByVal Buffer As String, ByVal Largo As Long) As Long
Private Function Control_Instalado() As Boolean
Sistema = Space(255)
Sistema = Left(Sistema, CarpetaDeSistema(Sistema, 255))
Libreria = Sistema & Control
Control_Instalado = (Dir(Libreria) <> "")
End Function
Private Function Control_Registrado() As Boolean
Dim Referencia As Object
For Each Referencia In ThisWorkbook.VBProject.References
If LCase(Referencia.Name) = Control_VBA Then _
Control_Registrado = True: Exit Function
Next
End Function
Private Sub Workbook_Open()
If Not Control_Instalado Then _
MsgBox "El control DTPicker NO esta instalado en el equipo !!!": Exit Sub
If Control_Registrado Then Exit Sub
MsgBox "El control DTPicker NO esta registrado en el equipo !!!"
Shell Sistema & "\RegSvr32.exe " & Libreria & " /s"
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida