Saltar al contenido

Continuación Agenda con búsqueda de registro


Invitado Juan Pelfort

Recommended Posts

Invitado Juan Pelfort
publicado

Hola de nuevo, estoy haciendo una agenda (que he copiado de Internet) el caso es que me funciona todo menos lo de

búsqueda por palabra o nombre, el código me he asegurado, es idéntico que el original (de Internet) pero me da error,

podéis ayudarme ?  me gustaría que la búsqueda la hiciese por "nombre"

Mando un ejemplo del programa

Muchas gracias 

Teléfonos.xlsm

Invitado Juan Pelfort
publicado

Funciona perfectamente, muchas gracias

publicado

Como ya ni siquiera se respeta tener 24 horas abierto un tema, me veo obligado a reabrirlo para poder aportar mi solución. 

Tema: Agenda con búsqueda de registro

Adjunto archivo:

  • No es necesario introducir la letra en la celda C6
  • Para buscar, introducir un valor en cualquier celda del rango C6:J6 y pulsar Buscar.
  • Al Ingresar un nuevo registro, la agenda se reordena por Nombre.
  • Pulsar Restaurar para visualizar la totalidad de la agenda

Teléfonos.xlsm

Invitado Juan Pelfort
publicado

Gràcies Antoni, luego me pongo a ello, 

ya te diré algo.

Muchas gracias

Invitado Juan Pelfort
publicado

Hola Antoni, de nuevo te estoy muy agradecido, esto funciona de maravillas.

Pero ya que estoy contigo, me surge una duda que te expongo, 

estoy haciendo un calendario perpetuo (que lo sigo de youtube) el caso es que todo va bien de momento pero ...

hay una fórmula para una matriz que van los números (del mes) separados por "comas" mi Excel no lo reconoce, lo he probado con "punto y coma" y tampoco he cambiado el sistema de separación de argumentos en "Panel de Control" <Región> lo he cambiado por "comas" y tampoco, que puedo hacer ?

Perdona, es que prefiero dirigirme a ti que en general.

Gracias

publicado
Perdona, es que prefiero dirigirme a ti que en general.

No es buena idea, tu mismo te cortas posibles respuestas.

En cualquier caso, sin el archivo y un ejemplo de lo que te sucede y quieres va a ser muy difícil que alguien pueda ayudarte.

Invitado Juan Pelfort
publicado

Hola Antoni, he enviado un nuevo teme "Control de horas" que me ha respondido "Nanci" 

si no es mucho pedir, me gustaría le echaras un vistazo, puede ser ?

De todos modos muy agradecido por atenderme siempre.

publicado
En 1/10/2019 at 18:37 , Antoni dijo:

me veo obligado a reabrirlo para poder aportar mi solución. 

:huh: ¿Ahora tienes poderes especiales?

:D

publicado
Hace 3 minutos , Haplox dijo:

:huh: ¿Ahora tienes poderes especiales?

:D

No, algún moderador amable se ha apiadado de mi.??

publicado

Has de tener en cuenta, que con independencia del formato que uses, las fechas y horas se tratan como el número de días transcurridos con respecto a un origen. (01/01/1900).

Así, hoy, 05/10/2019 es el día 43.743 y mañana será el día 43.744 y la fracción de día entre ambos corresponde a la hora.

Ejemplo: 43.743, 25 corresponde a 05/10/2019 a las 06:00:00.

Resumiendo, el resultado de cualquier operación entre fechas/horas se expresa en días, por eso hemos de multiplicar por 24 para obtener el total horas.

Si quieres que ese total horas se exprese como horas y minutos has de utilizar el formato [h]:mm en la celda, de lo contrario el resultado lo verás como un número.

Atención a las fórmulas de la fila 9 del adjunto.

Entradas - Salidas.xlsm

Invitado Juan Pelfort
publicado

Gracias Antoni, me pondré a ello, ya sé que irá bien.

Invitado Juan Pelfort
publicado

Antoni, perdona mi torpeza, cuanto más aprendo menos sé, te cuento sobre tu resolución (que va perfectamente.

Tengo una duda, si sumo la columna "total horas" en calculadora me da 79

                                                                                          en ordenador me da 79,40

                                            Si pago 79*10 = 790 €

                                             Si pago 79.40 = 794 €

Si sumo columna pagos del ordenador 796,67 €

Creo que el pago es correcto pero la diferencia de horas ??  Hago algo al respecto ??

Gracias y perdona la insistencia

publicado

79:40 horas son 79 horas y 40 minutos, al convertir a horas, 40 minutos son 40*100/60, o sea 0,667 horas, que sumadas a las 79 da un  total de 79,667 horas, que multiplicadas por 10 da un total de 796,67. ¿Lo entiendes? 

Nota:

No puedes sumar 41:46, 17:01 y 20:53 en una calculadora sin convertir primero los minutos a horas, si lo haces y repites la suma con los resultados de la conversión verás que da un resultado total de 79,6666 horas, redondeando, 79,667 horas

Invitado Juan Pelfort
publicado

Hay! perdona Antoni, no, no me he olvidado del tema y si, si lo he comprendido, esto funciona perfectamente. 

disculpa que no te haya contestado, a veces me parece que soy demasiado insistente en mis preguntas, yo siempre 

estaría preguntando ...

Estoy muy agradecido contigo Antoni.

P.D. En "TodoExcel" (me consta que también estas allí) he planteado una situación de iconos para UserForm

por si quieres hecharle un vistazo.

Disculpa y recibe un abrazo Antoni

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.