Haz tu Pregunta
0

Macros VBA que solo funcionan una vez en LibreOffice...

preguntado 2020-01-30 10:08:17 +0100

Imagen Gravatar de FelipeSer

Buenos días,

Tengo un archivo xlsm realizado en Excel , que contiene unas macros que a partir de uno s datos en la hoja de cálculo, abren otro archivo de excel, transfiere datos, y posteriormente graba los dos.

El problema, es que al ejecutarlo con libreOffice (he probado con la última versión 6.4 y anteriores), la primera vez si que funciona la macro. Pero cuando cierro el archivo y lo vuelvo a abrir, ya no funciona la macro, es como si se hubiera desconfigurado o borrado al salvar el archivo (que se guarda con el mismo nombre y formato....)

No se que puede estar pasando....

**Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim CeldaActual As String

Dim nombre_archivo As String




' AQUI MOSTRAMOS UN MENSAJE DICIENDO SI QUIERE O NO CONTINUAR PARA GENERAR EL ESTADILLO
Dim Pregunta As String



        CeldaActual = ActiveCell.Address

        'Si se elige una celda entre el rango A10:A17
        If Not Intersect(Target, Range("F3:AJ3")) Is Nothing Then


        'VALIDACION PARA INTRODUCIR EL TURNO
        Dim turno

x: turno = UCase(InputBox("Introduzca el turno para estadillo. " & vbCrLf & " Introduce M (mañana) , T (tarde) o N (noche)", "TURNO"))

       If turno = "M" Or turno = "T" Or turno = "N" Then

                   'Si el día es menor que 10, para que el archivo quede con un 0 delante , modificamos el nombre
                   If (ActiveCell.Text > 9) Then
                            nombre_archivo = ActiveSheet.Name & "_" & ActiveCell.Text & "_" & turno
                   Else

                            nombre_archivo = ActiveSheet.Name & "_0" & ActiveCell.Text & "_" & turno


                    End If



                'Creamos una copia del estadillo con el nombre de archivo según la celda pulsada
                Copiar_Libro (nombre_archivo)

     Else

        Pregunta = MsgBox("El turno debe ser :" & vbCrLf & vbCrLf & "     M para MAÑANA" & vbCrLf & "     T para TARDE" & vbCrLf & "     N para NOCHE" & vbCrLf & vbCrLf & " Si no desea continuar generando el estadillo pulse Cancelar", vbYesNo + vbQuestion, "Atención")
            If Pregunta = vbYes Then
                    GoTo x
            Else
                Exit Sub
            End If
    End If

End If

End Sub

Public Sub Copiar_Libro(ByVal nombre_archivo As String)

    'Definir objetos a utilizar
    Dim wbDestino As Workbook
    Dim wbOrigen As Workbook

    Dim wsOrigen As Excel.Worksheet
    Dim wsDestino As Excel.Worksheet

    Dim direccion_celda As String
    Dim columna As Integer
    Dim fila As Integer

    Dim i As Integer
    Dim j As Integer


    Dim funcionarios_total, funcionarios_quedan, funcionarios_faltan As Integer

    Dim temporal As String

    direccion_celda = ActiveCell.Address
    columna = ActiveCell.Column
    fila = ActiveCell.Row

    Set wbOrigen = ActiveWorkbook

    ' Hojas de origen y destino
    Set wsOrigen = wbOrigen.Worksheets(ActiveSheet.Name)



    MsgBox "PUMA 30 ->  " & wsOrigen.Cells(9, columna).Value & vbCrLf & "PUMA 31 -> " & wsOrigen.Cells(26, columna).Value & vbCrLf & "PUMA 34 -> " & wsOrigen.Cells(44, columna).Value & vbCrLf & "PUMA 37 -> " & wsOrigen.Cells(61, columna).Value & vbCrLf & "TOTAL   ->    " & wsOrigen.Cells(62, columna).Value, vbOKOnly, "NUMERICO OPERATIVO"








  '  MsgBox "Has seleccionado la celda " & direccion_celda & " y el texto para el archivo será " & "ESTADILLO" & "_" & ActiveSheet.Name & ActiveCell.Text, vbInformation, "EXCELeINFO"
         'Indicar ...
(more)
edit re-etiquetar marcar como ofensivo cerrar fusionar delete

1 Responder

Ordenar por » viejos nuevas más votado
1

respondido 2020-02-04 16:03:15 +0100

El soporte para VBA en LibreOffice mejora cada día, pero sigue siendo la mejor opción, migrar el código a LibO Basic para una completa compatibilidad, y por supuesto, usar el formato ODF.

edit marcar como ofensivo delete enlace mas
Ingresa/Regístrate para Contestar

Herramientas de Preguntas

1 seguidor

Estadisticas

Preguntado: 2020-01-30 10:08:17 +0100

Visto: 60 veces

Ultima actualización: Feb 04