🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.

🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Über ein Makro Datum fix einsetzen wenn Eintrag in Zelle

CALC ist die Tabellenkalkulation, die Sie immer wollten.
shorty_0808
Beiträge: 5
Registriert: Fr 7. Okt 2011, 00:08

Über ein Makro Datum fix einsetzen wenn Eintrag in Zelle

Beitrag von shorty_0808 » Fr 7. Okt 2011, 00:28

Hallo,

ich bin neu hier und arbeite erst seit kurzem mit LibreOffice und deren Makro-Funktion.
Ich hab auch schon, was mein Problem betrifft, hier gesucht, aber leider nichts passendes gefunden.

Ich habe eine Tabelle und möchte darin das Budget übersichtlicher machen. Dafür hab ich mehrere Spalten. Auf dieses bei meinem Problem ankommenden Spalte sind "Beschreibung" und "Datum".
Wenn ich jetzt in die Spalte "Beschreibung" etwas eingebe, soll in der selben Zeile das aktuelle Datum fix gesetzt werden.
Dazu habe ich über Extras, Makros, Makros Verwalten, LibreOffice Basic unter BudgetTracking (Name des Sheets) ein neues Modul 1 angelegt und folgenden Code eingegeben:

REM ***** BASIC *****
Sub Main
If Intersect (Range("D2:D10001"),Target) Is Nothing Then Exit Sub
If Target.Value="No" Then Exit Sub
If Target.Value="Yes" Then Cells(Target.Row,2).Value=Date
End If
End Sub

Leider bekomme ich immer wieder die Fehlermeldung: BASIC-Syntaxfehler. Else/Endif ohne If.
Ich hab schon gegooglet und nichts gefunden, am Ende dreimal End If eingtragen oder das zweite, dritte If oder beide mit Else ausgetauscht. Es bleibt bei dem selben Fehler.

Ich hoffe und bitte das Ihr mir helfen könnt!!!
Vielen Dank im Voraus!!! :)

Gruß
Shorty

paljass
* LO-Experte *
Beiträge: 693
Registriert: Fr 18. Mär 2011, 15:34

Re: Über ein Makro Datum fix einsetzen wenn Eintrag in Zelle

Beitrag von paljass » Fr 7. Okt 2011, 06:04

Hallo Shorty,
ich hab jetzt nicht so viel Ahnung vom Programmieren, daher sei dir das Forum LibreOffice Programmierung anempfohlen.

Aus meiner Zeit, zu der ich mal selbst ein bisschen programmiert habe, meine ich aber zu wissen, dass ein Endif ausschließlich in Verbindung mit If - Then - Else erscheinen darf.
Da du aber in sich abgeschlossene If-Anweisungen benutzt, kannst du Endif eigentlich löschen.
Versuchs mal, und wenns nicht geht, dann LibreOffice Programmierung.

Gruß
paljass

komma4
Beiträge: 185
Registriert: Sa 13. Aug 2011, 10:01
Wohnort: Chonburi Thailand Asia
Kontaktdaten:

Re: Über ein Makro Datum fix einsetzen wenn Eintrag in Zelle

Beitrag von komma4 » Fr 7. Okt 2011, 07:13

Willkommen im Forum
shorty_0808 hat geschrieben:und folgenden Code eingegeben
LibreOffice arbeitet mit der Programmiersprache BASIC, nicht mit VBA!
Eine Programmierung setzt den Einsatz von (nicht-trivialen!) LISTENER voraus

Das wäre Dein Suchbegriff, wenn Du das mit Programmierung erledigen willst; Beispiel auch auf meiner Website onColumnChange
shorty_0808 hat geschrieben:Wenn ich jetzt in die Spalte "Beschreibung" etwas eingebe, soll in der selben Zeile das aktuelle Datum fix gesetzt werden.
Aber, das geht auch ohne Makros

Wenn "Beschreibung" die Spalte A ist und das Datum in Spalte G soll, dann nehme (für G2) folgende Formel und ziehe sie nach unten

Code: Alles auswählen

=WENN(A2<>"";WENN(G2<>"";G2;JETZT());"")
Es müssen Extras>Optionen...>LibreOffice Calc>Berechnen>Zirkuläre Referenzen aktiviert sein.


Hilft Dir das weiter?
Cheers
Winfried
aktuell: openSuse 13.1 mit LO 4.3.7.2
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als Extension)

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: Über ein Makro Datum fix einsetzen wenn Eintrag in Zelle

Beitrag von balu » Mo 10. Okt 2011, 13:31

Hallo Shorty,

das Grundgesetz einer jeden IF-THEN... lautet:
Was mit IF beginnt, muss mit EndIF, oder End IF enden!

Ohne es genauer überprüft zu haben (weil VBA), müsste rein theoretisch dein Code wie folgt aussehen.

Code: Alles auswählen

Sub Main
If Intersect (Range("D2:D10001"),Target) Is Nothing Then Exit Sub
EndIf
If Target.Value="No" Then Exit Sub
EndIf
If Target.Value="Yes" Then Cells(Target.Row,2).Value=Date
End If
End Sub
Ansonsten würd ich den Formelvorschlag von Winfried nehmen.


Gruß
balu

shorty_0808
Beiträge: 5
Registriert: Fr 7. Okt 2011, 00:08

Re: Über ein Makro Datum fix einsetzen wenn Eintrag in Zelle

Beitrag von shorty_0808 » Mo 10. Okt 2011, 16:24

Hallo,

@balu, das hab ich auch schon versucht gehabt, das Problem ist das LibreOffice Basic verwendet und nicht VBA.

Leider funktioniert das mit der WENN Funktion so auch nicht.


Ich schau die Tage nochmal was ich machen kann, bis hierhin aber vielen Dank für die Antworten.

:)

paljass
* LO-Experte *
Beiträge: 693
Registriert: Fr 18. Mär 2011, 15:34

Re: Über ein Makro Datum fix einsetzen wenn Eintrag in Zelle

Beitrag von paljass » Mo 10. Okt 2011, 18:01

Hi shorty,
Leider funktioniert das mit der WENN Funktion so auch nicht.
...und was :?:

Gruß
paljass

komma4
Beiträge: 185
Registriert: Sa 13. Aug 2011, 10:01
Wohnort: Chonburi Thailand Asia
Kontaktdaten:

Re: Über ein Makro Datum fix einsetzen wenn Eintrag in Zelle

Beitrag von komma4 » Mo 10. Okt 2011, 18:20

shorty_0808 hat geschrieben:das Problem ist das LibreOffice Basic verwendet
Das ist beileibe nicht das Problem :geek:
Cheers
Winfried
aktuell: openSuse 13.1 mit LO 4.3.7.2
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als Extension)

shorty_0808
Beiträge: 5
Registriert: Fr 7. Okt 2011, 00:08

Re: Über ein Makro Datum fix einsetzen wenn Eintrag in Zelle

Beitrag von shorty_0808 » Sa 15. Okt 2011, 16:25

Die WENN_Funktion funktioniert doch, hatte das mit dem zikulären Rechnen vergessen ein zu schalten.

Was jetzt aber leider passiert, der haut mir die bedingte Formatierung aus den Zellen. Zur Übersicht hatte ich jede zweite Zeile bunt gemacht. Sobald ich jetztdie Wenn Funktion eintrage haut es die raus. :(

komma4
Beiträge: 185
Registriert: Sa 13. Aug 2011, 10:01
Wohnort: Chonburi Thailand Asia
Kontaktdaten:

Re: Über ein Makro Datum fix einsetzen wenn Eintrag in Zelle

Beitrag von komma4 » Sa 15. Okt 2011, 18:10

shorty_0808 hat geschrieben:Zur Übersicht hatte ich jede zweite Zeile bunt gemacht. Sobald ich jetztdie Wenn Funktion eintrage haut es die raus. :(

Kann ich nicht bestätigen (LO 3.4.3)

Bedingte Formatierung bleibt erhalten, wenn ich eine Formel eintrage und nach unten ziehe.

Welche Bedingung hast Du genommen?
Cheers
Winfried
aktuell: openSuse 13.1 mit LO 4.3.7.2
DateTime2 Einfügen von Datum/Zeit/Zeitstempel (als Extension)

shorty_0808
Beiträge: 5
Registriert: Fr 7. Okt 2011, 00:08

Re: Über ein Makro Datum fix einsetzen wenn Eintrag in Zelle

Beitrag von shorty_0808 » Sa 15. Okt 2011, 18:46

Ich hab eine neue Bedinung mit:

Code: Alles auswählen

ISTGERADE( ZEILE() )


eingegeben, sowie der Vorlage mit Umrandung und Farbe.

Die hab vor der Wenn-Funktion gesetzt. Tue ich jetzt die Funktion eiongeben, fehlt in den jeder zweiten Zeile der Spalte die Farbe.


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten