Saltar al contenido

¿Cómo desplegar calendario en una celda de excel, similar a lo que se muestra en access?


surfo76

Recommended Posts

publicado

¿Cómo desplegar calendario en una celda de excel, similar a lo que se muestra en Project?

Buenas a tod@s,

No tengo mucho conocimiento de Visual o programación, por lo que les pido respetuosamente me tengan paciencia, he estado revisando varios temas de este foro para ver si puedo resolver mi inquietud, pero de los archivos que he descargado y que otros han subido para aportar soluciones a las consultas, cuando los abro y habilito los contenidos y pruebo los pasos que indican, siempre me sale un mensaje que dice: "No se puede cargar un objeto porque no está disponible en este equipo", por lo que mis consultas serían dos basicamente:

1. ¿Tengo que descargar algún complemento de Excel 2010 para poder habilitar eso que dice no poder cargar?, ¿qué sería y donde lo puedo encontrar para bajarlo?; y

2. ¿Cómo hago que en una misma celda cuando la seleccione con el botón izquierdo del mouse, se me despliegue un calendario en pequeño, similar a lo que sucede en Access cuando uno selecciona un campo de tipo fecha?, y les ruego que la respuesta sea lo más detallada y metódica posible (paso a paso), ya que me interesa aprender a hacerlo desde cero, o sea, desde que se abre un archivo nuevo en excel, se siguen los pasos que me indiquen y hasta que se obtiene el resultado. Es importante decir que la celda que tenga esta propiedad del calendario desplegable, a la hora que escojo la fecha, se escriba automáticamente dicha fecha en la misma celda y que el archivo de excel que guarde una vez hecho esto, al enviarlo por correo a otro usuario, este último usuario no tenga que instalar nada complicado o especial en su PC para poder ejecutar esta función, sino que todos los comandos se vayan con el archivo y se pueda ejecutar sin problemas en cualquier PC y no como me pasó a mi en la consulta del punto 1.

Les agradezco sus aportes y comentarios de antemano. Saludos y bendiciones desde Costa Rica...

publicado

Buenas huatson70,

Gracias por tu aporte, no obstante, me sigue apareciendo el mensaje de "No se puede cargar un objeto porque no está disponible en este equipo", me imagino y porque lo he buscado en todos lados de la ficha programador y no lo he encontrado que falta el Complemento Active X llamado "Microsoft Month View", por lo que aprovecho para preguntarte que si no lo tengo instalado con el paquete de Office, ¿cómo hago para descargarlo y en dónde lo encuentro para instalarlo?... Gracias...

- - - - - Mensaje combinado - - - - -

Buenas JoaoM,

En cuanto a tus aportes, te lo agradezco mucho como a huatson70, no obstante, ambos archivos me dan problemas similares a los que le comenté a huatson70, donde me indica que no puede cargar algo que no está disponible en el equipo, por lo que no sé que puede ser y como les digo, he buscado el complemento en las direcciones que otros temas de este foro indican, incluso he descargado el complemento que recomiendan de "samradDatePicker.xla" lo he instalado como complemento tal y como lo indican en las instrucciones de la página en la dirección " C: \ Archivos de programa \ Microsoft Office \ OFFICE12 \ XLSTART" y todo y nada funciona, así que no sé que más hacer ya, por lo que más bien les pido que como no sé mucho de programación en Visual, si me pueden recomendar un video en YouTube o aquí mismo, que me ayude mostrando los pasos uno a uno de lo que hay que hacer, empezando por instalar el complemento que les menciono, ya que puede ser que lo esté haciendo mal en alguna parte del procedimiento y eso es lo que no me permite poder correr sus aportes de ejemplo... Muchas gracias por su paciencia y agradezco su comprensión al respecto, ya que aunque no sé mucho de esto, me gustaría aprender a realizarlo y además como les dije antes en el inicio del tema que abrí, quisiera que en el archivo que se cree esta función, se vaya incrustada la misma, para que otro usuario lo pueda abrir sin necesidad de tener que hacer muchos pasos... Gracias de nuevo y esperando sus respuestas. Buenas noches...

publicado

Surfo

Tengo entendido que el archivo con el calendario que yo te envié funciona solo en las versiones de Excel de 2007 y anteriores, tal vez esta sea la causa del porque no funciona con tu Excel.

Saludos.

publicado

Te envio lo necesario para que te funcione.

Necesito saber que Windows tienes para darte las instrucciones que amerita y donde vas a instalar (copiar) estos 2 archivos.

Espero tu respuesta.

Con este , "samradDatePicker.xla" en " C: \ Archivos de programa \ Microsoft Office \ OFFICE12 \ XLSTART" prueba abrir excel despues y da formato fecha a unas 5 celdas de una columna y luego activa una para insertarle una fecha, verás algo diferente al lado derecho de cada celda con formato fecha

Escribe esto, Librerias para Office 2007 y 2010 en GOOGLE y verás cuanta informacion y descargas te aparecen

Bueno, como estoy un tanto apertado de tiempo, te dejo los archivos con las instrucciones para W XP, W7 y W7 x64

colocar los archivos en la carpeta respectiva; WXPx86 en Windows\System32, W7X86 en Windows\System32 y W7X64 en Windows\SysWOW64

Para registro de las librerias

Abrir la ventana de comando (CMD) dandole con el buton derecho del mouse y seleccionar

Ejecutar como Administrador (CMD, NO en EL COMANDO EJECUTAR)

Inicio/Todos programas/Acesorios/Simbolo del sistema

Luego escribir en la ventana del Simbolo cd\ y presionar Enter

De seguida CD Windows\System32 y presionar Enter, se te presenta la ventana ya con

C:\Windows\System32>

Luego escribir Para W XP x86

regsvr32.exe MSCAL.OCX

Luego escribir Para W7 x86

regsvr32.exe MSCAL.OCX

Para W7 x64

Escribir en la ventana del Simbolo cd\ y presionar Enter

De seguida CD Windows\SysWOW64 y presionar Enter, se te presenta la ventana ya con

C:\Windows\SysWOW64>

Luego escribir Para W7 x64

regsvr32.exe MSCAL.OCX

SOLO tienes que registrar los .OCX o .DLL si las hubiera

Te envio tambien el DtPicker, este contienen archivos de instalacion y registro pero si quieres sigue el mismo proceso PARA el MSCAL.OCX

Nota: Vete reuniendo estas librerias y otras que veas te hacen falta en un archivo compacto para en un futuro al instaler Office instalas y registras TODAS las liobrerias que tengas reunidas para cuando recibas un libro con macros de otra latitud, no tener ese problema.

En la WEB se encuentran muchisimas

para que otro usuario lo pueda abrir sin necesidad de tener que hacer muchos pasos

Para que otros usuarios puedan no tener tu problema, TIENEN que tener dichas librerias instaladas y registradas en SU MAQUINA y algunas librerias Microsoft no las siguio introduciendo desde el office 2003, 2007 y 2010 NANAI NANAI, hay que buscarlas y instalarlas

Excel.part3.rar

Excel.part1.rar

Excel.part2.rar

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    4    1

  • Crear macros Excel

  • Mensajes

    • Hola, veo que tienes 365, así que esta forma funcionará   Almacen.xlsx
    • Buenos días  @LeandroA espero estes bien Tengo un caso idéntico al planteado en la siguiente pregunta: Sin embargo, a diferencia de quien planteo originalmente la pregunta al correr el código no obtengo ningún resultado podrían ayudarme a resolver este inconveniente y que al hacer click en el Botón Guardar (CommandButton3) del Formulario RCS (frmrcs) el archivo pdf quede configurado con orientación vertical, márgenes superior, inferior, derecho e izquierdo = 1 y en página tamaño carta. Si acaso influye uso Microsoft Excel LTSC MSO (versión 2209 Compilación16.0.1.15629.20200) de 64 bits Mucho le sabre agradecer la ayuda que me pueda dar  RCS PRUEBA - copia.xlsm
    • @JSDJSDCon gusto mi estimado Para la opción 1: Sub Surtirhastadondealcanse() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 4 Dim filaFin As Integer: filaFin = 7 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Else solicitudes(i) = 0 End If surtido(i) = "POR FALTA STOCK" Next i ' Surtir de acuerdo al inventario disponible For i = 1 To numClientes If solicitudes(i) > 0 Then If inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) ElseIf inventario > 0 Then surtido(i) = inventario totalSurtido = totalSurtido + inventario inventario = 0 Else surtido(i) = "POR FALTA STOCK" End If End If Next i ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = "POR FALTA STOCK" Then .Value = surtido(i) .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Para la opción 2:   Sub surtirenpartesiguales() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 13 Dim filaFin As Integer: filaFin = 16 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 Dim totalPedido As Double: totalPedido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) totalPedido = totalPedido + solicitudes(i) Else solicitudes(i) = 0 End If surtido(i) = 0 Next i ' Si hay suficiente inventario, surtir lo que el cliente pide If inventario >= totalPedido Then For i = 1 To numClientes If solicitudes(i) > 0 And inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) End If Next i Else ' Reparto base igualitario Dim baseSurtido As Long baseSurtido = Int(inventario / numClientes) For i = 1 To numClientes If solicitudes(i) > 0 Then If solicitudes(i) <= baseSurtido Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) Else surtido(i) = baseSurtido inventario = inventario - baseSurtido totalSurtido = totalSurtido + baseSurtido End If End If Next i ' Repartir sobrante restante uno por uno, respetando lo pedido Do While inventario > 0 For i = 1 To numClientes If surtido(i) < solicitudes(i) Then surtido(i) = surtido(i) + 1 totalSurtido = totalSurtido + 1 inventario = inventario - 1 If inventario = 0 Then Exit For End If Next i Loop End If ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = 0 Then .Value = "POR FALTA STOCK" .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Saludos, Diego
    • Buenos dias.  Estoy trabajando en una hoja para poder llevar un control de un pequeño almacén.  Tengo un pedido con varias líneas y "lotes" y necesito sacar las ubicaciones que coincidan con la referencia y lote que pone en el pedido. El problema viene cuando tengo la misma referencia y mismo lote en ubicaciones diferentes y necesito sacar la información en columnas diferentes. No se si  me he explicado bien, pero creo que con el ejemplo adjunto se entiende mejor. Agradecería mucho si me pudieran ayudar  Libro1.xlsx
    • Exelente solución mil gracias 
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.