Makro das mit Auswahl arbeitet mit Button aktivieren(gelöst)

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

nv22nv
Beiträge: 3
Registriert: So, 29.09.2013 19:34

Makro das mit Auswahl arbeitet mit Button aktivieren(gelöst)

Beitrag von nv22nv »

Hallo,

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
Das Beispiel-Makro lässt sich auch testweise einwandfrei ausführen - problematisch wird die Sache allerdings, wenn ich das Makro mit einem Button verknüpfen möchte - ich vermute, weil dann die Auswahl auf den Button wechselt und das Makro nicht mehr weiß, welche Zeile ausgewählt war und in welcher Zeile die Zahl 1 addiert werden muss.

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.
Zuletzt geändert von nv22nv am Mo, 30.09.2013 15:09, insgesamt 2-mal geändert.
nv22nv
Beiträge: 3
Registriert: So, 29.09.2013 19:34

Re: Makro das mit Aufwahl arbeitet mit Button aktivieren

Beitrag von nv22nv »

Danke für den Hinweis und Entschuldigung für das Posting im falschen Bereich. Ich habe zwar nach einem Bereich für Makros gesucht, das Stichwort "OOo Basic und Java" jedoch nicht damit verbunden. Vielleicht kann jemand das Thema dorthin verschieben, andernfalls kann ich morgen dort eine Kopie des Beitrags erstellen, weiß aber nicht, ob das erwünscht ist und warte deshalb erst einmal damit.
clag
********
Beiträge: 3570
Registriert: Di, 27.01.2009 15:30

Re: Makro das mit Auswahl arbeitet mit Button aktivieren

Beitrag von clag »

Moin

also dein Makro funktioniert bei mir auch von einem Button ausgelöst,
möglicherweise hast du nicht das richtige Button Ereignis ausgewählt?
Hatte selbst vor einiger Zeit eine ähnliche Anforderung an mehrere Buttons
die ein Makro aber mit verschiedenem "Parameter" ausführen sollen.
viewtopic.php?f=18&t=62283
das Thema war also noch warm ;) und ich habe deine Anforderung einmal in Calc nachgebaut
10 Buttons 10=definierte Spalten und "ein" Makro
defcol_focusrow+1_v01.ods
(10.86 KiB) 71-mal heruntergeladen
Ich hoffe es hilft dir
Zuletzt geändert von clag am Mo, 30.09.2013 07:13, insgesamt 1-mal geändert.
LG
clag

nutzt: WinXP SP3 / AOO 4.1.10 / Firefox
nv22nv
Beiträge: 3
Registriert: So, 29.09.2013 19:34

Re: Makro das mit Auswahl arbeitet mit Button aktivieren

Beitrag von nv22nv »

Hallo clag,

Danke für dein Antwort und das Erstellen der Datei für mich - damit ist mein Problem gelöst! Als ich die von dir erstellte Datei geöffnet hatte, war mir direkt aufgefallen, dass sich deine Buttons anders bedienen als meine. Nach kurzem Ausprobieren war klar: Ich hatte nicht bemerkt, dass es für die Steuerelemente einen Entwurfsmodus gibt, der an und ausgeschaltet werden kann. Als ich ihn ausgeschaltet hatte, hatte mein ursprüngliches Dokument sofort funktioniert.

Danke nochmal für die schnelle und hilfreiche Unterstützung!
Antworten