Seite 1 von 1

Re: Addieren per Button

Verfasst: Di, 25.03.2014 06:55
von Stephan
Wenn in A2 bereits der Wert steht soll bei Button druck "A2 = A2 + A1" gerechnet werden.
Ist das wirklich beabsichtigt? Also nur Wert addieren wenn die Werte in A1 und A2 gleich sind?
Wie bekomm ich das Makro auf den Button und wie müsste das aussehen?
Das Makro:

Code: Alles auswählen

Sub addieren()
	With ThisComponent.CurrentController.ActiveSheet
		tmp1 = .getCellRangeByName("A1").Value
		tmp2 = .getCellRangeByName("A2").Value
		If tmp1 = tmp2 Then
			.getCellRangeByName("A2").Value = tmp1 + tmp2
		End If
	End With
End Sub
speichere das Makro im Dokument Extras-Makros-Makros Verwalten-StarBasic, im erscheinenden Dialog links das Dokument suchen, dooppelklicken, "Standard" markieren, rechts "Neu" und dort das Makro reinkopieren.

-lasse die Symbolleiste Ansicht-Symbolleisate-Formularsteuerelemente anzeigen
-klicke dort auf "Entwurfsmodus an/aus"
-klicke dort auf "Schaltfläche" und zeichne damit eine Schaltfläche in die TAbelle
-markiere die gezeichnete Schaltfläche und wähle im Kontextmenü "KOntrollfeld"
-wechsele im erscheionenden Dialog zum Register "EReignisse" und suche das gerade gespeicherte Makro unter "Aktion ausführen" raus bzw. weise es dafür zu
-schliesse den Dialog
-klicke auf der SYmbolleiste "Entwurfsmodus an/aus" um dedn Entwurfsmodus zu beenden


Gruß
Stephan

Re: Addieren per Button

Verfasst: Di, 25.03.2014 22:05
von mikeleb
Halo,

auf alle Fälle sollte im else-Zweig

Code: Alles auswählen

.getCellRangeByPosition(4, z).Value = tmp1
stehen.

Re: Addieren per Button

Verfasst: Di, 25.03.2014 23:52
von Karolus
Hallo

Vielleicht sollte man das sinnfreie 'if else'-gedöns weg lassen wenn man in beiden Zweigen eh das selbe tut. 8)

Karolus

Re: Addieren per Button

Verfasst: Do, 27.03.2014 16:27
von Karolus
Äh - deine Frage war wohl:
gehe ich da richtig an die sache heran? Was fehlt mir?
und die sollen wir jetzt beantworten ohne den Code zu kennen auf den sie sich bezieht ?!

Sonst gehtst dir gut?

Re: Addieren per Button

Verfasst: Fr, 28.03.2014 04:17
von Stephan
Ich versuche das gerade in eine Schleife zu packen und für mehrer Zeilen auszuführen.
z.B.:

Code: Alles auswählen

Sub addieren()
   With ThisComponent.CurrentController.ActiveSheet
      For i = 0 To 10   
         tmp1 = .getCellByPosition(0, i).Value
         tmp2 = .getCellByPosition(0, i+1).Value
         If tmp1 = tmp2 Then
            .getCellByPosition(0, i+1).Value = tmp1 + tmp2
         End If
      Next i
   End With
End Sub
Gruß
Stephan