Jump to content
a


  • Crear macros Excel

  • Posts

    • Buenas de nuevo, me voy autontestando yo mismo. He conseguido hacer ya por fin que se marquen todas las fechas y que se escriban las siglas en el sitio en cuestion.   El unico fallo, que si se hace un registro de alguien que ya ha estado se marcan las fechas si, pero la sigla que aparece es la del primer registro.   Dejo excel en el que se ve en la tabla de arriba todo con siglas (solo que no coje otros estados ni cambia la sigla), en la tabla de abajo si cambia la sigla a registros duplicados pero solo se marca la fecha inicio bien y las demas con un #N/D   A ver si alguien se apiada de mi.... PRUEBAS FECHAS.xlsm
    • Hola a todos.  Perdonar con este asunto, creo que debe ser una tontería, pero no logro ver el error. Con esta sentencia me da error: Worksheets("KM_iniciales").Range(Cells(1, 1), Cells(maxrow, maxcolumn)).ClearContents Y sin embargo así funciona. Worksheets("KM_iniciales").Range("A1:K" & maxrow).ClearContents Quisiera que la columna a eliminar no fuera siempre la K porque podría ser otra, por eso quiero hacerlo con cells, pero no logro que funcione. ¿Qué estoy poniendo mal? Teniendo en cuenta que busca la última fila y columna así. maxcolumn = Worksheets("KM_iniciales").Cells.SpecialCells(xlLastCell).Column maxrow = Worksheets("KM_iniciales").Cells.SpecialCells(xlLastCell).Row   Gracias. Moisés.  
    • si te gustan las soluciones sencillas, aplica la propuesta de la columna "M" 😇 si prefieres complicar al usuario (?), aplica la propuesta de la columna "N" 🤔 suma si arriba (sp ayudaExcel).xlsx
    • he dado un paso mas. He conseguido que me salgan marcadas todas las fechas que pongo, el uno problema es que la sigla que describe el motivo solo aparece en la fecha de inicio de la situacion.   Creo que el fallo esta en la funcion COINCIDIR ya que este coje solo la fecha que esta marcada en la columna de inicio, cuando lo que quiero es que me tome el valor de todas las fechas que estan entre medio de fecha inicio y fecha fin.   OS DEJO EL ARCHIVO CON EL AVANCE Y VEREIS LA DIFERENCIA. Dadme ese pequeño empujon que me falta   Gracias PRUEBAS FECHAS.xlsm
    • Hola. Todavía estoy a tiempo de publicar. Por si alguien llega a este post buscando eliminar filas. Voy a poner el código que me he hecho para eliminar filas de una array, ya que no se puede directamente tal y como lo hace Excel. En mi caso la Array se llama "IdLibres". Evidentemente, está dentro de un proyecto más grande, pero por si solo le puede valer a cualquiera cambiando a sus nombres de array. Muchas gracias. Private Sub BorraFilas () Dim i, j, n, uFila, uCol, Fila, Col, Id As Integer Dim IdLibres, IdLibresTmp() As Variant 'Para generar nuevo Id antes buscamos en array "IdLibres" Id's libres borrados anteriormente Do While IdLibres(i, ListActivoP0 - 1) <> Empty '<- 4 columnas de más a la derecha     Id = IdLibres(i, ListActivoP0 - 1)     If Id > 0 Then '<- Si había un Id disponible         IdLibres(i, ListActivoP0 - 1) = "XXBorrarXX" '<- Lo marcamos para borrarlo luego         Exit Do     End If     i = i + 1 Loop 'Subimos todas las filas borradas en array "IdLibres" usando una memoria temporal igual IdLibresTmp = IdLibres'<- Copiamos la array uFila = UBound(IdLibres): uCol = UBound(IdLibres, 2) '<- Guardamos número de filas y columnas para antes de redimensionar ReDim IdLibres(uFila, uCol) '<- Borramos la array master 'Volcamos desde la array temporal a la buena todo menos lo que tiene marca "XXBorrarXX" For j = 0 To NumListBoxP0 - 1     i = 0: Fila = 0     Do While IdLibresTmp(i, j) <> Empty         If IdLibresTmp(i, j) <> "XXBorrarXX" Then             IdLibres(Fila, j) = IdLibresTmp(i, j)             Fila = Fila + 1         End If         i = i + 1     Loop Next j End Sub   TEMA SOLUCIONADO
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy