In Makro Zellen addieren und vergleichen

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

idefix2
**
Beiträge: 42
Registriert: Fr, 10.02.2017 14:25

In Makro Zellen addieren und vergleichen

Beitrag von idefix2 »

Hallo!
Der Makrorekorder ist für viele Aktionen sehr hilfreich, um zu sehen, wie man Aktionen in Makros umsetzen kann. Es gibt aber einige sehr simple Dinge, bei denen der Makrorekorder keine Hilfestellung leistet, und da stehe ich momentan an.

1. Ich würde gerne durch ein Makro das Ergebnis einer Berechnung in eine Zelle schreiben lassen. Also im einfachsten Fall zum Beispiel A1:=A2+A3. Natürlich gäbe es die Notlösung, irgendwo am Spreadsheet in ausgeblendete Zellen die entsprechenden Formeln einzutragen und die Werte dann mit copy and paste in die Zielzelle zu kopieren. Aber ich stelle mir vor, dass das auch einfacher gehen müsste.

2. Ich würde gerne in Abhängigkeit von Werten, die in einer oder mehreren Zellen stehen, das Makro mit einer Fehlermeldung abbrechen.

Bitte um Hilfe!
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: In Makro Zellen addieren und vergleichen

Beitrag von Stephan »

Der Makrorekorder ist für viele Aktionen sehr hilfreich, um zu sehen, wie man Aktionen in Makros umsetzen kann.


Na, das sehe ich aber anders, denn der Makrorekorder in OO/LO erzeugt sog. dispatcher-Code und ist im Gegensatz zum Makrorekorder von MS Office wenig geignet um etwas über Makro-Programmierung zu lernen.

1. Ich würde gerne durch ein Makro das Ergebnis einer Berechnung in eine Zelle schreiben lassen. Also im einfachsten Fall zum Beispiel A1:=A2+A3. Natürlich gäbe es die Notlösung, irgendwo am Spreadsheet in ausgeblendete Zellen die entsprechenden Formeln einzutragen und die Werte dann mit copy and paste in die Zielzelle zu kopieren. Aber ich stelle mir vor, dass das auch einfacher gehen müsste.
z.B.:

Code: Alles auswählen

Sub Main()
With ThisComponent.Sheets.getByName("Tabelle1")
	.getCellRangeByName("A1").Value = .getCellRangeByName("A2").Value + .getCellRangeByName("A3").Value
End With
End Sub
2. Ich würde gerne in Abhängigkeit von Werten, die in einer oder mehreren Zellen stehen, das Makro mit einer Fehlermeldung abbrechen.
z.B.:

Code: Alles auswählen

Sub Main()
With ThisComponent.Sheets.getByName("Tabelle1")
If .getCellRangeByName("A2").Value = 123 Then
	Msgbox "falscher Wert"
	Exit Sub
End If
End With
End Sub

siehe auch:
viewtopic.php?t=1553


Gruß
Stephan
idefix2
**
Beiträge: 42
Registriert: Fr, 10.02.2017 14:25

Re: In Makro Zellen addieren und vergleichen

Beitrag von idefix2 »

Vielen Dank, das bringt mich schon sehr viel weiter :)
Antworten