Hallo,
ich hätte gerne eine schaltfläche bei der ich bei jedem drücken das Ergebnis von A1 um 1 erhöht. Wie kann ich sowas realisieren ? Also ich weis wie man ein Makro mit einer Schaltfläche verknüpft. Aber ich weis nicht wie das Makro aussieht damit ein Makro immer den wert um 1 erhöht.
Mfg
Schaltfläche +1
Moderator: Moderatoren
Hallo Flow,
mit diesem Makro sollte Dein Problem funktionieren. Möglicherweise geht es auch kürzer.
MfG - dkledi
mit diesem Makro sollte Dein Problem funktionieren. Möglicherweise geht es auch kürzer.
Code: Alles auswählen
Sub test
' Variablen deklarieren
Dim calcDokument as Object
Dim tabellenBlatt as Object
Dim zelle As Object
Dim inhalt As Integer
' Tabellenobjekt festlegen und zuweisen
calcDokument = thisComponent
tabelle = calcDokument.Sheets(0)
' Zelle definieren (in diesem Fall A1)
zelle = tabelle.getCellByPosition(0,0)
inhalt = zelle.Value
inhalt = inhalt + 1
zelle.Value = inhalt
End Sub
Ich habe gerade festgestellt, dass das mit der Variablen Inhalt totaler Blödsinn ist. So geht es auch.
Code: Alles auswählen
Sub test
Dim calcDokument as Object
Dim tabellenBlatt as Object
Dim zelle As Object
calcDokument = thisComponent
tabelle = calcDokument.Sheets(0)
zelle = tabelle.getCellByPosition(0,0)
zelle.Value = zelle.Value + 1
End Sub
Hey,
und so in einer Zeile:

Thomas
und so in einer Zeile:
Code: Alles auswählen
sub test
thisComponent.Sheets(0).getCellRangeByName("A1").Value =_
thisComponent.Sheets(0).getCellRangeByName("A1").Value +1
end sub

Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic