Frage stellen
0

Simple MS-Office-Makros funktionieren nicht unter LibreOffice

gefragt 2019-06-26 17:57:26 +0200

hans123321 Gravatar-Bild

updated 2019-06-26 17:58:42 +0200

Hallo zusammen,

kann mir einer bei zwei simplen MS-Office Makros helfen um die in Libreoffice lauffähig zu machen? Hab den Rekorder und auch bisschen selbst rumprobieren anhand des Ergebnisses versucht aber iwie bringt das einen nichtmal ansatzweise weiter.

Makro1: kopieren einer Zelle mit Formelinhalt und anschließend kleine Änderungen an der Formel

Sub Calc()

zeilenIndex = 1

''''' Zu ändernde Werte'''''
copyCellRowNumber = 12
pasteCellRowNumber = 13
''''''''''''''''''''''''''''

While zeilenIndex < 30
    zeilenIndexAlsString = Format(zeilenIndex, "")
    If Cells(zeilenIndex, copyCellRowNumber).Value <> "" And Cells(zeilenIndex, pasteCellRowNumber).Value = "" Then
        Cells(zeilenIndex, pasteCellRowNumber).Copy
        Cells(zeilenIndex, pasteCellNumber).Insert
        Cells(zeilenIndex, pasteCellNumber).Replace "/", "-"
        Cells(zeilenIndex, pasteCellNumber).Replace "-1", ""
        Cells(zeilenIndex, pasteCellNumber).Replace "H", "G"
        Cells(zeilenIndex, pasteCellNumber).NumberFormat = "0.00000"
    Else

    End If

    zeilenIndex = zeilenIndex + 1
Wend

Makro2: Z.B. ersten 100 Zeilen durchinterieren und dabei prüfen ob Spalte 4(D) einen der Werte "buy" oder "sell" hat und ob diese Zeile keine Hintergrundfarbe hat. Wenn true und buy dann Zeile Grün färben, wenn true und sell, dann Zeile Rot färben und bei beiden Fällen eine Zelle Orange färben.

Sub faerben()

zeilenIndex = 1
buycellspalte = 4

While zeilenIndex < 100
    zeilenIndexAlsString = Format(zeilenIndex, "")
    If Cells(zeilenIndex, buycellspalte).Value = "buy" And Cells(zeilenIndex, buycellspalte).Interior.ColorIndex = xlNone Then

    ' grün
    Range("A" + zeilenIndexAlsString + ":k" + zeilenIndexAlsString).Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 5296274
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With

    'orange
    Range("L" + zeilenIndexAlsString).Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 49407
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With

ElseIf Cells(zeilenIndex, buycellspalte).Value = "sell" And Cells(zeilenIndex, buycellspalte).Interior.ColorIndex = xlNone Then

    'rot
    Range("A" + zeilenIndexAlsString + ":K" + zeilenIndexAlsString).Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 255
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With

    'orange
    Range("L" + zeilenIndexAlsString).Select
    With Selection.Interior
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 49407
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With

Else

End If
zeilenIndex = zeilenIndex + 1
Wend
Bearbeiten Tags ändern Melden schließen vereinen löschen

1 Antwort

1

geantwortet 2019-06-27 08:00:39 +0200

Lupp Gravatar-Bild

Das Paradigma der Spreadsheetsoftware ist, dass man Formeln durch Eingabe erzeugt, und sie den errechneten Wert an die Zelle abliefern lässt, in der die jeweilige Formel steht.

Aufgaben, bei denen man wirklich trickreichen UserCode braucht, um den Formelbestand zu ändern, kommen so gut wie nie vor. Ich habe solche Dinge zwar schon gemacht, aber entweder, um für jemanden ein schlecht entwickelts Rechenblatt zu retten, oder aus reinem Spaß an der Sache. Ich kann mir absoulut nicht vorstellen, wozu ein Sel/Buy-Sheet sowas brauchen sollte.

Bedingte Zellfärbungen macht man mit CF (ConditionalFormatting).

Mein Rat: Entwickle deine Rechenblätter so, dass du den oben eingefügten Kram nicht brauchst.

Bearbeiten Melden löschen Link mehr

Kommentare

Naja im Grunde handelt sich um Transaktionen, die ich in CSV-Format runter lade und dadurch gewisse Berechnungen erstelle um einen Überblick über den aktuellen Gesamtstatus zu behalten. Deswegen ist es mir nicht möglich bzw. nicht Zweckmäßig die Rechenblätter umzugestalten. :(

hans123321 Gravatar-Bildhans123321 ( 2019-06-28 01:12:53 +0200 )Bearbeiten
Registrieren oder einloggen, um zu antworten

Antwortwerkzeuge

1 Beobachter

Statistik

Gefragt: 2019-06-26 17:57:26 +0200

Angesehen: 38 Mal

Aktualisiert: Jun 27