Saltar al contenido

Ayuda urgente para Estudio Hospitalario


Recommended Posts

publicado

Buenas tardes.

Soy nuevo en el foro y después de leer las normas y buscar, creo que no infrinjo nada.

Soy enfermero aficionado al excel.

Estamos diseñando una base de datos para un estudio en el hospital y llevo desde el domingo "enrocado" en un par de cosas que no consigo que me salgan ni a la de tres....desesperadito estoy...

No se como puedo subiros el archivo que pesa 147 kb...

Gracias!

publicado
  1. Eliminar hojas innecesarias: Si tu archivo de Excel tiene varias hojas, puedes eliminar las que no necesitas. Para hacer esto, simplemente haz clic derecho en la hoja que deseas eliminar y selecciona "Eliminar".

  2. Eliminar datos innecesarios: Si tu archivo contiene datos que no son necesarios, puedes eliminarlos para reducir su tamaño. Para hacer esto, selecciona los datos que deseas eliminar y presiona la tecla "Eliminar" en tu teclado.

  3. Eliminar imágenes y gráficos: Si tu archivo de Excel contiene imágenes y gráficos que no son necesarios, puedes eliminarlos para reducir el tamaño del archivo. Para hacer esto, selecciona la imagen o gráfico que deseas eliminar y presiona la tecla "Eliminar" en tu teclado.

  4. Comprimelo

publicado

Ese último intenta guardarlo como Excel Binario

Si se te complica reducir el tamaño de tu libro para poder subirlo, entonces ese "par de cosas" trata de ejemplificarlas en un ejemplo que sea lo más claro posible.

Saludines

publicado

Tengo estas macros...dejemoslo ahi porque no hay manera de bajarlo de 100kb ? He puesto todas las macros en archivos de texto separados

En la Hoja Curas están las celdas donde meto los datos. Tengo una celda llamada NHC (H8) con una imagen de  una lupa asociada a la macro Buscar_NHC, en la celda H10 esta el nombre con otra lupa asociada a Buscar_Nombre y en la celda J10 otra lupa con la macro Buscar_apellido

Las macros limpiar y modificar son otras dos imagenes asociadas a estas macros.

Y en la hoja Datos es una tabla donde se guarda

Todas las macros van bien, pero cuando busco por nombre o apellidos tengo un problema. Por NHC no porque son registros unicos (NHC=Numero Historia Paciente)

Si en la tabla hay 6 pacientes (o mil...) con el mismo nombre...necesito que me salga un msg box que me diga algo asi "Hay Nombres duplicados. ¿Siguiente?" Y que me muestre en las celdas dadas los datos del pac 1 que es el que me encuentra siempre, pero que me de la opcion de seguir con el siguiente registro duplicado mostrandome los datos hasta que llegue al que necesito.

 

Aquí llevo desde el sabado enrocado y no lo consigo....

En lo que he enviado no hay nada de eso porque esta es la base...

 

Si veis algo que sea reiterativo o mal...por dios espero que me digais algo.

Por cierto...se que hay mucho "verde" de anotaciones...pero pienso en que si un dia no estoy yo manejando la base de datos que quien vea las macros sepa por donde se llega...jejejej

Gracias a todos de antemano....!!!!!!!!

buscar apellidos.txt Buscar nombre.txt Buscar.txt BuscarNHC.txt Desbloquear y bloquear.txt Limpiar.txt Modificar.txt

publicado

Sube un archivo en el cual se encuentre una lista de pacientes (ficticios) tal y como tengas tu base de datos y el formulario que usas para buscarlos. Esto seguro que si puedes subirlo.

Con una sola hoja hay mas que suficiente

 

publicado

Madre mía!!!

Logrado!!!

 

Esta pelado...sin imagenes, sin botones sin "na de na"....iban a ser las imagenes de las lupas lo que ocupaba un monton....

Solo esta la "plantilla" de la hoja Curas y lo basico de la hoja Datos.

He cargado todas las macros

Con que me ayudeis en la busqueda de nombre, copio y pego en apellidos lo mismo...jejejeje.

 

De antemano...muchisimas gracias!!!

Ayuda.xlsm

publicado

Abre el adjunto y pulsa sobre la estrella azul.

Se abrirá un formulario en el que hay un textbox y un listbox.

A medida que vayas escribiendo en el textbox se mostrarán los pacientes que contengan el texto en NHC, nombre o apellidos.

Click sobre el listbox y los datos se traspasarán a la hoja Curas.

Solo tienes que exportar el formulario a tu archivo.

Ayuda.xlsm

publicado
hace 51 minutos , Antoni dijo:

Abre el adjunto y pulsa sobre la estrella azul.

Se abrirá un formulario en el que hay un textbox y un listbox.

A medida que vayas escribiendo en el textbox se mostrarán los pacientes que contengan el texto en NHC, nombre o apellidos.

Click sobre el listbox y los datos se traspasarán a la hoja Curas.

Solo tienes que exportar el formulario a tu archivo.

Ayuda.xlsm 40.53 kB · 1 descarga

Gran solución!!!!!

Me vale con esto perfectamente!!!

Me has dado la vida!!.Además me resuelve el buscar por NHC, por nombre y por apellido.

 

Ya solo por curiosidad...se podría hacer una macro similar a eso integrada en mi macro buscar_apellidos o ya eso es un follón del carajo??

Sólo por curiosidad porque tu respuesta me vale.

 

MILLONES DE GRACIAS!!!!

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.