BITTE helfen Sie uns mit einer SPENDE
Das LibreOffice Forum braucht jetzt Ihre Hilfe!

❤️ DANKE >><< DANKE ❤️

Ihre Spende wird für die Deckung der laufenden Kosten der kommenden 12 Monate sowie den Ausbau 🌱 des LibreOffice Forums verwendet.
🌷 Stand: 143 Spenden. Bisher höchste Spende: 250 Euro!!! 18% fehlen uns noch bis zum Spendenziel 🌷
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.
🤗 VIELEN DANK AN ALLE SPENDER - NUR DANK EUCH KÖNNEN WIR DAS FORUM ERHALTEN UND WEITERENTWICKELN 🤗

Hilfe kompliziertes Makro erstellen

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
KatjaBauer
Beiträge: 3
Registriert: Do 4. Feb 2021, 07:53

Hilfe kompliziertes Makro erstellen

Beitrag von KatjaBauer » Do 4. Feb 2021, 08:28

Ich brauch Hilfe für ein sehr kompliziertes Makro. Ich bin leider Einsteiger in diesem Thema und kann es leider nicht ohne Hilfe selbt programmieren, vielleicht kann mir ja hier jemand helfen und mir sagen, wie ich da ran gehen soll oder mir sogar ein Makro zu schicken. Das soll das Makro machen:

Ich muss in Calc das Spiel "Wer wird Millionär" erstellen. Es gibt eine "Weiter" Schaltfläche, die bei Betätigen Zelle A1 um 1 erhöht und die Zellen A6, A7, B6, B7 leert. In diesen 4 Zellen ist ein Dropbox-Menü, um die Antworten anzukreuzen. Die Zelle A1 gibt die Fragenummer an, bei Betätigen der "Weiter" Schaltfläche wir also zur nächsten Frage gesprungen und die angekreuzten Antworten wieder gelöscht. Ich habe auch schon geschafft, dass Angezeigt wird, ob die Antwort richtig war. Dazu habe ich zunächst eine Formel in die Zelle D9 geschrieben, die immer angibt, ob Antwort A,B,C oder D richtig ist, also ein Kreuz in Zelle A6, A7, B6, B7, abhängig von der Fragenummer in A1. Die Formel in D9 lautet:

=WENN(ODER(A6="X";B6="X";A7="X";B7="X");WENN(A1=1;"A";WENN(A1=2;"B";WENN(A1=3;"C";WENN(A1=4;"D";WENN(A1=5;"A";WENN(A1=6;"B";WENN(A1=7;"C";WENN(A1=8;"D";WENN(A1=9;"A";WENN(A1=10;"B";WENN(A1=11;"C";WENN(A1=12;"D";WENN(A1=13;"A";WENN(A1=14;"B";WENN(A1=15;"C";" ")))))))))))))));" ")

Dann habe ich daneben in Zelle D10 anzeigen lassen, ob die Antwort richtig oder falsch ist oder mehrere Antworten angekreuzt wurden. Ob die Antwort richtig ist, habe ich dadurch erreicht, dass ich "RICHTIGE ANTWORT" anzeigen lasse, wenn der Buchstabe in D9 mit der Zelle A6, A7... übereinstimmt, also in D9 beispielsweise D steht und ein Kreuz in B7 ist. Die Formel in D10 lautet:

=WENN(ODER(UND(C10="A";A6="X";B6="";A7="";B7="");UND(C10="B";A6="";B6="X";A7="";B7="");UND(C10="C";A6="";B6="";A7="X";B7="");UND(C10="D";A6="";B6="";A7="";B7="X"));"RICHTIGE ANTWORT";WENN(UND(A6="";B6="";A7="";B7="");" ";WENN(ODER(UND(A6="X";B6="X");UND(A6="X";A7="X");UND(A6="X";B7="X");UND(B6="X";A7="X");UND(B6="X";B7="X");UND(A7="X";B7="X");UND(A6="X";B6="X";A7="X");UND(A6="X";B6="X";B7="X");UND(A6="X";A7="X";B7="X");UND(B6="X";A7="X";B7="X");UND(A6="X";B6="X";A7="X";B7="X"));"ES KÖNNEN NICHT MEHRERE ANTWORTEN ANGEKREUZT WERDEN";"FALSCHE ANTWORT")))

Ich möchte jetzt, dass nur wenn in Zelle D10 "RICHTIGE ANTWORT" anzeigt, die "Weiter" Schaltfläche sichtbar ist. Ich habe schon über Ereignisse geschafft, dass die Schaltfläche nur sichtbar ist, wenn der Text manuell in D10 eingegeben wird, wird er allerdings durch diese Formeln angezeigt, funktioniert das Makro nicht. Ich habe auch schon ein Makro gefunden, dass die Schaltfläche nur dann anzeigt, wenn der Text durch die WENN-Formel in Zelle A1, in diesem Beispiel für D10 verwendet, WENN(B1=1;"RICHTIGE ANTWORT";0). B1 steht hier stellvertretend für D9, aber in D9 wird auch wiederum der Wert nicht manuell eingetragen sondern wieder mit einer WENN-Formel und in A1 wird der Wert auch nicht manuell eingetragen sodern über die "Weiter" Schaltfläche, die eben unsichtbar gemacht werden soll. Das Makro hierfür lautet:

REM ***** BASIC *****

Dim event
Dim oSheet as Object
Dim oRange as Object
Dim oForm as Object
Sub Check_A1(event)
'Sub Check_A1()
oSheet = thiscomponent.sheets.getbyname("Tabelle1")
' Die Zelle in der die Wenn-Funktion steht
oRange1 = oSheet.getcellrangebyname("A1")
' Die Zelle auf welche reagiert werden soll
oRange2 = oSheet.getcellrangebyname("B1")

oForm=thisComponent.DrawPages.getByIndex(0)
oForm=oForm.getForms.getByIndex(0).getByIndex(0)

if oRange2.queryIntersection(event.RangeAddress).count = 1 then

If oForm.Name="Schaltfläche 1" AND oRange1.Text.String = "richtige Antwort" then
oForm.EnableVisible ="True"
ElseIf oForm.Name="Schaltfläche 1" AND oRange1.Text.String <> "richtige Antwort" then
oForm.EnableVisible ="False"
End If
end if

End Sub

Jetzt müssen quasi noch die beiden ewig langen WENN-Formeln miteingebaut werden.

Gibt es hier begabte Programmierer, die mir helfen können? Vielen Dank schonmal!!!
Ganz liebe Grüße, Katja

Mondblatt24
Beiträge: 2806
Registriert: Fr 3. Mär 2017, 17:12

Re: Hilfe kompliziertes Makro erstellen

Beitrag von Mondblatt24 » Do 4. Feb 2021, 08:50

Hallo KatjaBauer alias AlinaGeier,


CROSSPOSTING!


http://de.openoffice.info/viewtopic.php ... 96#p293596

Multiposting - Was ist das und warum mag die keiner


Gruß
Peter


PS: Auch hier gibt es extra einen Bereich der sich mit Makros beschäftigt: LibreOffice Programmierung
Win 11 (x64) ▪ LO 7.6.5.2 (x64) ▪ AOO Portable 4.1.15
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.

KatjaBauer
Beiträge: 3
Registriert: Do 4. Feb 2021, 07:53

Re: Hilfe kompliziertes Makro erstellen

Beitrag von KatjaBauer » Do 4. Feb 2021, 08:57

Sorry, das tut mir echt leid, ich wollte nur so viele Menschen wie möglich erreichen mit meiner Frage:( Ich habe nicht gewusst, dass man das nicht tun soll aber hätte, falls auf einen der beiden Foren eine Lösung gefunden worden wäre diesen dann auch auf dem anderen gepostet, damit andere, die dieselbe Frage haben, auch eine Lösung finden können.
Ich wollte damit echt keinen Schade anrichten, tut mir wirklich leid:((

Mondblatt24
Beiträge: 2806
Registriert: Fr 3. Mär 2017, 17:12

Re: Hilfe kompliziertes Makro erstellen

Beitrag von Mondblatt24 » Do 4. Feb 2021, 09:03

KatjaBauer hat geschrieben:
Do 4. Feb 2021, 08:57
Ich habe nicht gewusst, dass man das nicht tun soll
Aber sicher darf man das tun, nur sollten die Fragen von vornherein gegenseitig verlinkt werden, um doppelte Hilfe zu vermeiden.

Gruß
Peter
Win 11 (x64) ▪ LO 7.6.5.2 (x64) ▪ AOO Portable 4.1.15
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.

KatjaBauer
Beiträge: 3
Registriert: Do 4. Feb 2021, 07:53

Re: Hilfe kompliziertes Makro erstellen

Beitrag von KatjaBauer » Do 4. Feb 2021, 09:38

Okay gut, da bin ich beruhigt:) Hier noch der Link zu einem weiteren Forum
https://ask.libreoffice.org/de/question ... -id-291291

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten