Jump to content

Antoni

Members
  • Content Count

    10,117
  • Joined

  • Last visited

  • Days Won

    548

Everything posted by Antoni

  1. Abre el adjunto y pulsa sobre la flecha azul. Ejemplo.xlsm
  2. Tanto te cuesta intentar entender el código, basta con poner un poco de interés, se trata de repetir estas 2 líneas para cada una de las columnas que desees: x.Sheets("RV").Range("B1:B" & ufila1).Copy y.Sheets("Hoja1").Range("A1").PasteSpecial Y no, no voy a modificarte la macro a menos que subas un archivo con un ejemplo práctico de lo que quieres.
  3. Pulsa cualquier celda de la columna H a partir de la celda 6 y mira si es eso lo que quieres. Lista de validación múltiple.xlsm
  4. El resultado del método Range.Find es un objeto range de una sola celda. Cuando asignas un objeto es necesario utilizar la instrucción Set para diferenciar cuando te refieres al objeto o a su valor. Si no se encuentra la celda en el rango buscado devuelve Nothing en el resultado. Y no, no es Excel quien te juega malas pasadas, es tu cerebro por falta de tequila. 😂
  5. Adjunto la nueva versión de Pantalla de Restaurant, en ella se ha añadido lo siguiente: Ampliación a 50 platos Ampliación a 23 ubicaciones Cantidad y precio en el ticket Estadísticas diarias, mensuales y anuales por ticket y por plato (1) Salvo mal funcionamiento, damos por terminada esta consulta, abre una nueva para cualquier nuevo requerimiento. (1) A ver si alguien se anima a hacerlas con tablas dinámicas. Pantalla de restaurant III.xlsm
  6. Pues sin el archivo va a ser imposible que alguien te ayude.
  7. Las macros y las fórmulas nunca se han llevado bien. Sube un archivo con los totales que deseas y donde. Pero, ¿esto es un ejercicio o es un restaurante real?
  8. Vamos por partes, cuando hablo de "nombre único" de las imágenes me refiero a que ese nombre no debe estar repetido, no que todas tengan el mismo nombre, el número de tu DNI es "único", es decir, solo hay uno. Para cambiar el nombre a un objeto se hace, como tu bien dices, en el cuadro de texto a la izquierda de la barra de fórmulas, pero debes dar ENTER después de cambiar el nombre, de lo contrario lo deja como estaba. En D3 guardamos la dirección del rango correspondiente a la "mesa activa" para ir actualizando los datos de esa mesa si cambiamos de una a otra y así no perder la información. No entiendo la pregunta. ¿De que filas hablas? cuando dices "se añaden filas", donde y cuando. El resto de tus preguntas requieren un ejemplo de lo que pretendes hacer.
  9. Y esto de regalo. Abre el adjunto y pulsa sobre la bola blanca. GOLF.xlsm
  10. Es importante la programación, pero es mucho más importante el análisis y el diseño. En el adjunto, verás que está planteada tu idea pero de otra forma. Las imágenes de los platos son fijas, tienes hasta 40 platos distintos. Debes asegurarte que si añades imágenes, o autoformas para que pese menos el archivo, deben tener un nombre único, no importa cual, pero no debe repetirse. También es muy importante que la imagen esté contenida dentro del rango remarcado y ajustada a la primera celda. A todas las imágenes se les debe asignar la macro Platos. Puedes llevar hasta 10 mesas en tiempo real, incluso podrías utilizar la comanda para pasarla directamente a cocina y al bar. Por supuesto, se trata de un ejercicio, no de un proyecto funcional, por lo que debe valorarse desde ese punto de vista, ya que sufre de multitud de carencias. También lleva el registro de cobro que podría utilizarse de caja diaria y como base de datos estadística. Verás que el código VBA utilizado es mínimo comparado con lo que en principio cabría suponer. Ya comentarás que te parece. Pantalla de restaurant.xlsm
  11. Esta macro elimina las imágenes que empiezan en una determinada fila. Sub ElimnarFotosFila() fila = 7 '<--- Fila en la que se eliminarán las imágenes For Each imagen In ActiveSheet.Pictures If imagen.TopLeftCell.Row = fila Then imagen.Delete Next ActiveCell.Select End Sub
  12. He supuesto que las hojas a tratar no empiecen con la palabra Balance en el nombre y tienen la palabra TOTAL en la columna I. También he supuesto que las columnas con fórmulas, J y L, no deben borrarse. Sub BorrarHojas() Dim Hoja As Worksheet, Total As Range Application.ScreenUpdating = False For Each Hoja In Sheets If Not UCase(Hoja.Name) Like "BALANCE*" Then Set Total = Hoja.Columns("I").Find("TOTAL") If Not Total Is Nothing Then If Total.Row > 4 Then Hoja.Range("B4").Resize(Total.Row - 4, 8).ClearContents Hoja.Range("K4").Resize(Total.Row - 4, 1).ClearContents Hoja.Range("M4").Resize(Total.Row - 4, 2).ClearContents End If End If End If Next End Sub
  13. Si no puedes con tu enemigo, alíate con él. ("El arte de la Guerra", Sun Tzu). ☺️ Pon de color blanco el fondo del formulario. Otra cosa, Unload nombre formulario descarga el formulario desde una macro.
  14. Prueba a ver si con esto te apañas. He añadido la columna A con un ID único para poder identificar los registros del listbox. CONSULTA COMBOBOX.xlsm
  15. if Not Trim(TextBox6) = "" Then .Cells(NewRow, 5).AddComment .Cells(NewRow, 5).Comment.Text Text:=TextBox6 End If
  16. ¿Porqué no subes un archivo con las imágenes y el formulario?
  17. ¿Te ha quedado claro? ¿O es que te has olvidado del tema?, Si es así, no estaría mal decirlo. 🙁
  18. 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
  19. Por error, te he contestado aquí: Continuación Agenda con búsqueda
  20. 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
  21. Cambia el formato de las celdas de la columna E: [h]:mm:ss
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png