BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Bereiche eingrenzen

Alles zur Programmierung im LibreOffice.
Antworten
stef2018r
Beiträge: 3
Registriert: So 26. Feb 2023, 12:51

Bereiche eingrenzen

Beitrag von stef2018r » Fr 3. Mär 2023, 15:35

Hallo,
bislang habe ich mit Excel gearbeitet, aber nun muss ich auf Libre Office umsteigen. Meine ersten Versuche waren nur bedingt erfolgreich.
Ich möchte, dass, wenn ich eine Zelle einmal anklicke, diese eine neue Hintergrund Farbe bekommt, bei zweimal anklicken soll sie wieder weiß werden. Ein Makro für diese Funktion habe ich gefunden und anpassen können (Vielen Dank an den Autor!)
Was ich zusätzlich benötige ist, dass die Farbänderung weiß/lila/weiß nur bei den Zellen im Bereich B6:AF7 stattfindet. Im Bereich B8:AF9 sollen die Zellen z.B. gelb sein.
Ich kriege diese Bereich-Eingrenzung leider nicht hin. Anbei habe ich meine Muster-Datei eingefügt.
Der Code für Excel war wie folgt (mit anderen Farben):

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Column >= 2 And Target.Column <= 32 Then
Select Case Target.Row
Case 6 To 7
If Target.Interior.ColorIndex = 6 Then
Target.Interior.ColorIndex = xlNone
Else
Target.Interior.ColorIndex = 6
End If
Case 8 To 9
If Target.Interior.ColorIndex = 23 Then
Target.Interior.ColorIndex = xlNone
Else
Target.Interior.ColorIndex = 23
End If
End Select
End If

End Sub

Ich wäre für jede Hilfe dankbar.
Dateianhänge
Beispieldatei 2023.ods
(20.99 KiB) 83-mal heruntergeladen

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

Re: Bereiche eingrenzen

Beitrag von mikele » Fr 3. Mär 2023, 17:01

Hallo,
willkommen - und hoffentlich viel Freude mit LibreOffice (auch wenn der Wechsel erfahrungsgemäß manchmal steinig erscheint).
Die Programmierung von Makros unterscheidet sich schon wesentlich, auch wenn LO einige Excel-Makros problemos ausführen kann.
Für dein Problem, z. B. so:

Code: Alles auswählen

Sub Change_Color
    oDoc = ThisComponent
    oZell = oDoc.CurrentSelection
    if oZell.supportsService("com.sun.star.sheet.SheetCell") OR oZell.supportsService("com.sun.star.sheet.SheetCellRange")then
        oBereich=oZell.Spreadsheet.getCellRangeByName("B6:AF7")
        oZellen=oBereich.queryIntersection(oZell.RangeAddress) 
        If oZellen.Count>0 then
	        If oZellen(0).cellbackcolor = RGB (225, 214, 246) Then
	            oZellen(0).cellbackcolor = -1
	            else
	            oZellen(0).cellbackcolor = RGB (225, 214, 246)
	        end if
		End If
    end if
end sub
Gruß,
mikele

stef2018r
Beiträge: 3
Registriert: So 26. Feb 2023, 12:51

Re: Bereiche eingrenzen

Beitrag von stef2018r » Fr 3. Mär 2023, 18:11

Vielen Dank für die schnelle Antwort.
Werde gleich ausprobieren.
Viele Grüße aus den Norden

stef2018r
Beiträge: 3
Registriert: So 26. Feb 2023, 12:51

Re: Bereiche eingrenzen

Beitrag von stef2018r » Mi 15. Mär 2023, 18:57

Hallo,
ein bisschen verspätet melde ich mich.
Es hat alles super geklappt. Vielen Dank

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten