Mithilfe eines anderen Beitrags in diesem Forum habe ich einige Makros geschrieben, die nun mit Buttons ("Schaltflächen") verknüpft werden sollen. In meiner Tabelle soll sich über 10 Spalten je ein Button befinden. Wenn dieser gedrückt wird, soll in einer gewissen Zelle die Zahl 1 addiert werden: Die Zelle befindet sich in der Zeile, die gerade ausgewählt ist. Sie befindet sich in der Spalte, in der sich auch der Button befindet. Die Auswahl der Zeile muss automatisch anhand der ausgewählten Zeile erfolgen. Die Auswahl der passenden Spalte ist unproblematisch, weil es sich nur um 10 verschiedene Spalten handelt. Ich habe einfach 10 unterschiedliche Makros geschrieben, in denen der entsprechende Wert für die Spalte von Hand angepasst wurde (im folgenden Beispiel: 2).
Code: Alles auswählen
Sub Plus_Eins_LL_Minus
oDoc = ThisComponent
oSheet = ThisComponent.CurrentController.getActiveSheet()
oZell = oDoc.getCurrentSelection()
oZell.supportsService("com.sun.star.sheet.SheetCellRange")
oSelect=ThisComponent.CurrentSelection.getRangeAddress
oSelectRow=ThisComponent.CurrentSelection.Rows
Start_Row =oSelect.StartRow
End_Row=oSelect.EndRow
if End_Row > Start_Row then
msgbox "Es darf immer nur eine Zeile ausgewählt sein",,"Fehler"
exit sub
end if
oCell = oSheet.getCellByPosition(2,Start_Row)
ocell.value = ocell.value + 1
End Sub
Kann mir jemand helfen, das Makro entsprechend anzupassen oder einen Tipp geben, ob ich durch Anpassung der Button-Eigenschaften das gewünschte Ergebnis erreichen kann? Ich sehe auch nach dem Klick auf den Button noch, dass die zuletzt ausgewählte Zeile optisch hervorgehoben ist und gehe davon aus, dass das Problem lösbar ist. Leider kenne ich mich selbst mit VB-Makros nicht gut aus.
Danke schon im Voraus für die Unterstützung.