Jump to content

xboxfile

Members
  • Posts

    167
  • Joined

  • Last visited

About xboxfile

  • Birthday 10/31/1966

Profile information

  • Gender
    Hombre
  • Localización:
    Barcelona

Converted

  • Campos
    ,

Recent Profile Visitors

1,294 profile views

xboxfile's Achievements

  1. 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
  2. Muchas gracias Antoni, como siempre, un placer saludarte. Es lo que me temía, lo marcaré y al pasarlo a la hoja omito esa fila y ya está. La idea es que aprovechando que se puede pasar a la hoja co un simple MiRango= miarray te lo pasa sin bucles ni nada. Se ha intentado, gracias y hasta otra. Tema solucionado
  3. Hola, creo que lo expongo, no subo archivo porque es teoría. ¿Sabes si hay algún comando o método para eliminar filas en una array sin que tenga que ser con bucles y sobreescribir con las filas de abajo? Muchas gracias
  4. Hola, un saludo a tod@s. Mi consulta es muy sencilla (o no) pero no he visto nada relacionado con esto por Google, quizás desconozco las palabras exactas. Me explico, quiero eliminar una fila entera de una array de varias columnas de forma similar a como lo hace nativamente Excel, que seleccionas unas celdas, botón derecho, Eliminar, y el te desplaza todas las de debajo arriba. He probado con un bucle y subir todo lo de debajo arriba una fila copiando datos, pero lo veo demasiado, y puede que haya algún comando o algún método que lo haga y yo lo desconozca. Espero haberme explicado con claridad. No subo ejemplo porque mi pregunta es más bien teórica, con que alguien me apunte algo ya me buscaría la vida. Muchas gracias.
  5. Version 1.0.0

    395 downloads

    Hola a tod@. Tengo Excel 2019 32 bits corriendo en Windows 10 actualizado a la última (15/03/20), y tuve un problema al instalar el archivo "mscomct2.ocx" para poder usar el "Control Calendar Date and Time Picker 6.0". Por este motivo no podía usar este control de calendario en mi Userform. Navegando por ahí me encuentro una consulta de Antoni en este mismo foro que le daba error. Pues aquí la solución, ya que el tema está cerrado. Lo único que hay que hacer es seguir los pasos de este enlace: "https://www.vichaunter.org/como-se-hace/como-solucionar-el-error-mscomctl-ocx-registrado", ya que en la mayoría de tutoriales a mi me daba el error que dice en el enlace que pongo. La única diferencia es que en el tutorial lo hacen instalando el archivo "mscomctl.ocx", pero cambiando el nombre funciona perfectamente. Os aseguro que funciona. Subo el archivo "mscomct2.ocx" para poder usar el Control Calendar Date and Time Picker 6.0. Espero que os ayude. Gracias.
  6. Version 1.0.0

    81 downloads

    Hola que tal.¿Alguna vez has trabajado con varias arrays y no te has preguntado si no podría ser que las pudieses agrupar todas en una como si fuesen las hojas de un libro? Pues esto es lo que yo me planteé un día y empecé a investigar en el tema. Tuve la necesidad de tratar cientos de datos de seis hojas de seis libros, una por cada libro. Cada hoja la puse en una array bidimensional y estas a su vez agrupadas en una Array de Arrays. Con esto tienes la ventaja de que lo puedes trabajar todo con un solo bucle, si no, tienes que crearte un código para cada hoja de cada libro. Al principio es un poco lioso, ¿pero que no es en programación cuando se empieza? Espero que os guste. Aporto esto para el foro que tanto me ha ayudado en mis inicios. Gracias.
  7. Version 1.0.0

    47 downloads

    Hola que tal. Siempre vengo a este foro a buscar ayuda y siempre se me ayuda, a veces hasta recibo más de la que me esperaba, por tanto, creo que ha llegado el momento de que yo aporte algo en agradecimiento. A quien no le ha pasado que a escrito datos o manipulado algo en un archivo, ha salvado el mismo, y en la próxima vez que lo ha abierto, ¡¡¡zas!!! archivo corrupto, ha empezar de nuevo. Bueno, quizás soy un poco exagerado, pero puede pasar si no se usan métodos para que no esto pase. Se trata de una macro que cada vez que se abre el libro guarda una copia del mismo en una carpeta aparte. Usa el método SaveCopyAs. Lo bueno es que se adapta a cualquier proyecto vba que tengamos, solo hay que copiar la hoja en el mismo y poner el código para que arranque en Thisworkbook. O si lo prefieres, copias el recuadro de configuración y le das el valor solo a 3 variables para que el código empiece a trabajar. Sin más, espero que a alguien le resulte práctico, y si hay alguna duda le responderé muy gustosamente. Saludos
×
×
  • Create New...

Important Information

Privacy Policy