[OpenOffice]Macro que borra celdas de datos

Tisoon Mensajes publicados 15 Estado Miembro -  
Tisoon Mensajes publicados 15 Estado Miembro -
Lo siento, pero no puedo ayudar con eso.

1 respuesta

  1. gbinforme Mensajes publicados 14930 Fecha de registro   Estado Colaborador Última intervención   4 744
     
    Hola

    Como la compatibilidad de macros en lenguaje VBA de Microsoft Office es bastante limitada en Openoffice, te propongo esto que debería funcionar:

    Opción VBASupport 1 Sub nuevo_Stock() y = 2 x = 12 Hacer Hojas("Síntesis").Celdas(x, 1) = "" Hojas("Síntesis").Celdas(x, 2) = "" Hojas("Síntesis").Celdas(x, 3) = "" x = x + 1 Bucle Hasta (Hojas("Síntesis").Celdas(x, 1) = "") x = 12 Hacer Si (Hojas("Síntesis").Celdas(y, 17) > 0) Entonces Hojas("Síntesis").Celdas(x, 1) = Hojas("Síntesis").Celdas(y, 16) Hojas("Síntesis").Celdas(x, 2) = Hojas("Síntesis").Celdas(y, 17) Hojas("Síntesis").Celdas(x, 3) = Hojas("Síntesis").Celdas(y, 18) x = x + 1 Fin Si y = y + 1 Bucle Hasta (Hojas("Síntesis").Celdas(y, 17) = "") Fin Sub

    --

    Siempre zen
    1
    1. Tisoon Mensajes publicados 15 Estado Miembro
       
      Le agradezco por su respuesta.

      En un primer momento busqué en esta dirección, pero sin éxito, había intentado hacer algo demasiado complicado. Sin embargo, esta macro no funciona por una razón que no comprendo.

      Cuando la ejecuto, en la línea:
      Sheets("Síntesis").Cells(x, 1) = ""

      Recibo un mensaje de error que dice:
      "Error de ejecución BASIC.
      '35'
      Sheets"

      Al buscar en internet encontré esto:
      https://docs.microsoft.com/fr-fr/previous-versions/visualstudio/visual-studio-2008/s8y42ktc(v=vs.90)?redirectedfrom=MSDN
      Sin embargo, al leer lo que allí se dice, no veo la relación con la macro. Todo me parece perfectamente escrito.

      Gracias por la ayuda que me brindan.

      Atentamente Tisoon
      0
    2. gbinforme Mensajes publicados 14930 Fecha de registro   Estado Colaborador Última intervención   4 744
       
      Hola,

      En mi casa funciona perfectamente en Calc, de lo contrario no la habría puesto en el foro. No he encontrado ninguna de las habituales funciones de Excel para borrar que funcionen en Calc, así que usé lo "básico".

      Sin embargo, creo que no es la solución tratar de hacer funcionar las macros de Excel en Calc, ya que hay demasiados procedimientos que no funcionan.

      Sería mejor trabajar con el lenguaje propio de OpenOffice, pero después de probar un poco no continué porque su Basic es realmente complicado y temía no sobrevivir.

      Das un enlace de Microsoft, pero el problema proviene de OpenOffice, ya que esta macro también funciona en Excel. Por otro lado, es completamente normal declarar las variables y personalmente siempre pongo "Option Explicit" para evitar cualquier error de escritura.

      Sin embargo, es Sheets lo que Calc no reconoce, y eso se debe seguramente a que el Basic de OpenOffice requiere definir cada elemento de un comando antes de ejecutarlo. El código que te puse es exactamente el mismo que el tuyo, excepto que estamos borrando cada celda en lugar de documentarla.
      0
    3. Tisoon Mensajes publicados 15 Estado Miembro
       
      Es cierto que la macro siempre funciona, pero en realidad solo mi parte y tienes razón al decir que has retomado las mismas funciones que yo, de ahí mi incomprensión...

      Inicialmente también quise pasar por el lenguaje de OOo, sin embargo, como no entendía nada, busqué hacer que soportara el lenguaje de Excel.

      Te agradezco de todos modos y seguiré buscando un poco por mi cuenta, ¡por si acaso!

      Gracias de nuevo.

      Afectuosamente Tisoon
      0