Seit einiger Zeit verwende ich nun Libreoffice anstelle von excel auf meine macmini mit osx 10.8.5. Ich bin ganz zufrieden, was die alltäglichen Arbeiten angeht. Nun möchte ich jedoch gerne ein Makro erstellen um gelieferte Tabellen umzuformatieren. Leider stürzt Libreoffice 4.1.3.2 jedes Mal ab, wenn ich eine Spalte auswähle, den Inhalt per rechter Mausklick ausschneide und bei einer anderen Spalte einfüge. Dabei spielt es keine Rolle, ob die Spalte leer ist oder bereits Daten enthält.
In Excel hatte ich ein Makro, das diese Arbeiten automatisierte:
Code: Alles auswählen
Sub Deli_Kassabuchungen_schritt1()
'
' Deli_Kassabuchungen_schritt1 Makro
Columns("A:M").Select
Selection.Delete Shift:=xlToLeft
Columns("O:O").Select
Selection.Cut
Range("A1").Select
ActiveSheet.Paste
Columns("B:B").Select
Selection.ClearContents
Columns("C:D").Select
Selection.ClearContents
Columns("F:F").Select
Selection.Cut
Columns("C:C").Select
ActiveSheet.Paste
Selection.Columns.AutoFit
Columns("G:G").Select
Selection.NumberFormat = "0.00"
Columns("H:P").Select
Selection.Delete Shift:=xlToLeft
Columns("G:G").Select
Selection.Cut
Range("F1").Select
ActiveSheet.Paste
Columns("E:E").Select
Selection.Replace What:="101", Replacement:="4101", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="102", Replacement:="4102", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="103", Replacement:="4103", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="104", Replacement:="4104", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="105", Replacement:="4105", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="106", Replacement:="4106", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="107", Replacement:="4107", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="108", Replacement:="4108", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="109", Replacement:="4109", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="201", Replacement:="4201", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="202", Replacement:="4202", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="203", Replacement:="4203", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="204", Replacement:="4203", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="204", Replacement:="4204", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="205", Replacement:="4205", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="206", Replacement:="4206", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="207", Replacement:="4207", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="208", Replacement:="4208", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="209", Replacement:="4209", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="220", Replacement:="4220", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="221", Replacement:="4221", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="222", Replacement:="4222", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="997", Replacement:="4290", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="998", Replacement:="4290", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="999", Replacement:="4290", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Selection.Replace What:="301", Replacement:="4301", LookAt:=xlWhole, _
SearchOrder:=xlByColumns, MatchCase:=False
Range("F5").Select
End Sub
Kann mir jemand sagen, ob dieses Makro in Libreoffice überhaupt funktioniert (ist das mit Libreoffice möglich) und wie das Script richtig geschrieben wäre?
Ganz herzlichen Dank, denn ich beherrsche keine Programmiersprachen.
LG JoEddy