Seite 1 von 1

VBA Projekt von Excel auf LibreOffice umschreiben

Verfasst: Mi 24. Nov 2021, 07:47
von Andreas_77
Hi liebe Forenmitglieder,

ich bin absoluter Neuling im Umgang mit LibreOffice. Benötige daher eure Hilfe, da mir aktuell die Zeit fehlt mich intensiv in LibreOffice einzulesen.

Ich habe ein Exceltabelle die einige Abläufe per VBA steuert. In Microsoft Excel funktioniert diese Datei auch super. In LibreOffice aber leider nicht. Könnt ihr mir den VBA Code so umschreiben, das er auch unter LibreOffice funktioniert. Der Code funktioniert bis zu den 3 roten X. In C8 Soll er das aktuelle Datum kopieren (=Heute()) und in C13 einen Text der sich aber auf eine Verknüpfung bezieht (=Kalkulation!J43). Der Code läuft sauber durch, aber in C8 und in C13 erhalte ich nur ein Leerfeld.


Hier der Code:

Sub ausgedruckteVorschlägekopieren()

With Worksheets("Vorschlag")
If .Range("C4") <> "" Then
.Range("C4:E4").Copy Sheets("ausgedruckte Vorschläge").Range("B1")
Sheets("ausgedruckte Vorschläge").Range("B1:K1").Insert Shift:=xlDown
End If
If .Range("C5") <> "" Then
.Range("C5:E5").Copy Sheets("ausgedruckte Vorschläge").Range("E2")
End If
If .Range("C6") <> "" Then
.Range("C6:E6").Copy Sheets("ausgedruckte Vorschläge").Range("H2")
End If
End With XXX

Sheets("Vorschlag").Range("C8").Copy
Sheets("ausgedruckte Vorschläge").Range("A1").PasteSpecial xlPasteValues
Sheets("ausgedruckte Vorschläge").Range("A1").Insert Shift:=xlDown

Sheets("Vorschlag").Range("C13").Copy
Sheets("ausgedruckte Vorschläge").Range("K2").PasteSpecial xlPasteValues


Sheets("Vorschlag").Select
Range("C4,C5,C6").Select
Selection.ClearContents

Range("C4").Select


Sheets("Kalkulation").Select
Range("C5:C21,C25:C41,A25:A41,B25:B41").Select
Selection.ClearContents

Range("C5").Select



End Sub



Vielen Dank schon mal im Voraus für eure Hilfe

Andreas

Re: VBA Projekt von Excel auf LibreOffice umschreiben

Verfasst: Mi 24. Nov 2021, 08:34
von karolus
Hallo
Versuchs halt mit dem üblichen: als erste Zeile im Modul

Code: Alles auswählen

Option VBASupport 1

Re: VBA Projekt von Excel auf LibreOffice umschreiben

Verfasst: Mi 24. Nov 2021, 08:44
von Andreas_77
in LibreOffice sieht der Code so aus

Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1
Sub ausgedruckteVorschlägekopieren()

With Worksheets("Vorschlag")
If .Range("C4") <> "" Then
.Range("C4:E4").Copy Sheets("ausgedruckte Vorschläge").Range("B1")
Sheets("ausgedruckte Vorschläge").Range("B1:K1").Insert Shift:=xlDown
End If
If .Range("C5") <> "" Then
.Range("C5:E5").Copy Sheets("ausgedruckte Vorschläge").Range("E2")
End If
If .Range("C6") <> "" Then
.Range("C6:E6").Copy Sheets("ausgedruckte Vorschläge").Range("H2")
End If
End With

Sheets("Vorschlag").Range("C8").Copy
Sheets("ausgedruckte Vorschläge").Range("A1").PasteSpecial xlPasteValues
Sheets("ausgedruckte Vorschläge").Range("A1").Insert Shift:=xlDown

Sheets("Vorschlag").Range("C13").Copy
Sheets("ausgedruckte Vorschläge").Range("K2").PasteSpecial xlPasteValues


Sheets("Vorschlag").Select
Range("C4,C5,C6").Select
Selection.ClearContents

Range("C4").Select


Sheets("Kalkulation").Select
Range("C5:C21,C25:C41,A25:A41,B25:B41").Select
Selection.ClearContents

Range("C5").Select



End Sub

Re: VBA Projekt von Excel auf LibreOffice umschreiben

Verfasst: Mi 24. Nov 2021, 09:22
von karolus
und so würde es aussehen wenn du den Code zwischen Codetags einfügst mit Hilfe der </> Schaltfläche…

Code: Alles auswählen

Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1
Sub ausgedruckteVorschlägekopieren()
    
   With Worksheets("Vorschlag")
        If .Range("C4") <> "" Then
            .Range("C4:E4").Copy Sheets("ausgedruckte Vorschläge").Range("B1")
            Sheets("ausgedruckte Vorschläge").Range("B1:K1").Insert Shift:=xlDown
        End If
        If .Range("C5") <> "" Then
            .Range("C5:E5").Copy Sheets("ausgedruckte Vorschläge").Range("E2")
        End If
        If .Range("C6") <> "" Then
            .Range("C6:E6").Copy Sheets("ausgedruckte Vorschläge").Range("H2")
        End If
    End With
    
            Sheets("Vorschlag").Range("C8").Copy
            Sheets("ausgedruckte Vorschläge").Range("A1").PasteSpecial xlPasteValues
            Sheets("ausgedruckte Vorschläge").Range("A1").Insert Shift:=xlDown
            
            Sheets("Vorschlag").Range("C13").Copy
            Sheets("ausgedruckte Vorschläge").Range("K2").PasteSpecial xlPasteValues
            
    
            Sheets("Vorschlag").Select
            Range("C4,C5,C6").Select
            Selection.ClearContents
    
            Range("C4").Select
   
        
            Sheets("Kalkulation").Select
            Range("C5:C21,C25:C41,A25:A41,B25:B41").Select
            Selection.ClearContents
    
            Range("C5").Select
    
   

End Sub

Re: VBA Projekt von Excel auf LibreOffice umschreiben

Verfasst: Mi 24. Nov 2021, 09:58
von Andreas_77
karolus hat geschrieben:
Mi 24. Nov 2021, 09:22
und so würde es aussehen wenn du den Code zwischen Codetags einfügst mit Hilfe der </> Schaltfläche…

Code: Alles auswählen

Rem Attribute VBA_ModuleType=VBAModule
Option VBASupport 1
Sub ausgedruckteVorschlägekopieren()
    
   With Worksheets("Vorschlag")
        If .Range("C4") <> "" Then
            .Range("C4:E4").Copy Sheets("ausgedruckte Vorschläge").Range("B1")
            Sheets("ausgedruckte Vorschläge").Range("B1:K1").Insert Shift:=xlDown
        End If
        If .Range("C5") <> "" Then
            .Range("C5:E5").Copy Sheets("ausgedruckte Vorschläge").Range("E2")
        End If
        If .Range("C6") <> "" Then
            .Range("C6:E6").Copy Sheets("ausgedruckte Vorschläge").Range("H2")
        End If
    End With
    
            Sheets("Vorschlag").Range("C8").Copy
            Sheets("ausgedruckte Vorschläge").Range("A1").PasteSpecial xlPasteValues
            Sheets("ausgedruckte Vorschläge").Range("A1").Insert Shift:=xlDown
            
            Sheets("Vorschlag").Range("C13").Copy
            Sheets("ausgedruckte Vorschläge").Range("K2").PasteSpecial xlPasteValues
            
    
            Sheets("Vorschlag").Select
            Range("C4,C5,C6").Select
            Selection.ClearContents
    
            Range("C4").Select
   
        
            Sheets("Kalkulation").Select
            Range("C5:C21,C25:C41,A25:A41,B25:B41").Select
            Selection.ClearContents
    
            Range("C5").Select
    
   

End Sub

Danke für die Info. Das bringt mich aber mit meinem Problem nicht weiter. Kannst du auch etwas zur Problemlösung beitragen?

Re: VBA Projekt von Excel auf LibreOffice umschreiben

Verfasst: Mi 24. Nov 2021, 10:44
von karolus
Zunächst musst du mal was zur Problemlösung beitragen, oder sollen wir etwa ein passendes Testdokument aus deinem VBA-zeugs "heraus" erstellen??

Re: VBA Projekt von Excel auf LibreOffice umschreiben

Verfasst: Mi 24. Nov 2021, 16:05
von mikele
Hallo Andreas_77,
du schriebst
in LibreOffice sieht der Code so aus
Er sieht nicht nur so aus, er funktioniert auch. Problem gelöst?

Re: VBA Projekt von Excel auf LibreOffice umschreiben

Verfasst: Do 25. Nov 2021, 19:13
von karolus