Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Tabellenblattname LottoBingox

Tabellenblattname LottoBingox
29.08.2023 22:33:26
Olaf
Hallo liebe Leute,
ich habe mal eine Frage und hoffe, dass mir einer darauf Antworten kann. Ich füge eine Beispieltabelle bei bei der ich nicht Erfolgreich versucht habe in VBA zu programmieren. Wir sind eine Gruppe von Leuten die LottoBingo spielen, dazu möchte ich die gezogenen Lottozahlen auswerten.

Ich habe in der Exceltabelle zwei Tabellenblätter, links das Tabellenblatt "Ziehungen" und rechts das Tabellenblatt "LottoBingo_1". In beiden Tabellenblättern ist eine dynamische Tabelle. Diese beiden Tabellenblätter möchte ich später miteinander vergleichnen.

Wenn in dem Tabellenblatt "LottoBingo_1" in der Spalte H (RZ1) ein Mitspieler 6 richtige Zahlen hat soll folgendes passieren.

Schritt 1: Das Tabellenblatt "LottoBingo_1" soll kopiert werden.
Schritt 2: Danach ein neues Tabellenblatt mit dem Name "LottoBingo_2" links neben "LottoBingo_1" erstellt werden.
Schritt 3: Danach das kopierte im Tabellenblatt "LottoBingo_2" eingefügt werden und in Zelle I:1 soll nicht mehr "1. Spiel" sondern "2. Spiel" stehen.
Schritt 4: Danach soll im Tabellenblatt "Ziehungen" in Spalte I (Spiel) nach "1. Spiel" also in der nächsten freien Zelle "2. Spiel" stehen.

Wenn nun wieder einer 6 richtige Zahlen hat, soll sich die Prozedur wiederholen mit Tabellenblatt "LottoBingo_3" etc.


Ich würde mich riesig freuen wenn mir einer helfen könnte.
Für deine/eure Bemühungen bedanke ich mich im Voraus.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellenblattname LottoBingox
29.08.2023 23:25:41
onur
" Ich füge eine Beispieltabelle bei" ? Und wo ist sie ?
Tabellenblattname LottoBingox
30.08.2023 08:01:43
MCO
Hallo Olaf!

Füge das in das Modul des Tabellenblattes ein:

Private Sub Worksheet_Change(ByVal Target As Range)


Dim Ber As Range
Dim Zahl As Single
Set Ber = ActiveSheet.ListObjects(1).DataBodyRange

If Not Application.Intersect(Ber, Target) Is Nothing Then 'Bei Änderung im Bereich
If Cells(Target.Row, "H") = 6 Then
Zahl = Split(ActiveSheet.Name, "_")(1)
ActiveSheet.Copy After:=Sheets(1) 'Ab hier ist activesheet das neue Sheet! Nicht mit WITH zusammenfassen!
ActiveSheet.Name = "LottoBingo_" & Zahl + 1
ActiveSheet.Range("I1") = Zahl + 1 & ". Spiel"
End If
End If

End Sub


Das macht was es soll.
Dadurch, dass sofort auf das neue Blatt gewechselt wird hast du auch kein Problem mit mehrfach-Gewinnern...
https://www.herber.de/bbs/user/162574.xlsm

Probiers mal aus.
Gruß, MCO
Anzeige
Tabellenblattname LottoBingox
30.08.2023 17:12:55
Olaf
Hallo MCO,
erst einmal recht herzlichen Dank, dass du dich der Sache angenommen hast.
Ich weiß jetzt nicht, ob ich irgendetwas falsch mache oder vielleicht ein kleiner Tippfehler vorliegt.
Ich habe deinen Quelltext, in meiner Datei, in das Modul1 eingefügt und habe danach im Tabellenblatt „Ziehungen“ den Datensatz aus Zeile 14 in Zeile 11 verschoben, dadurch bekommt der Spieler in Zeile 16 im Tabellenblatt „LottoBingo_1“ die fehlende Zahl und hat in Spalte H eine 6 stehen.
Leider passierte nichts.
Danach habe ich die Datei ausprobiert, die du mir als Anhang beigefügt hast. Leider bleibt die Ausführung im Modul2 erste Zeile / Sheets(„LottoBingo_1“.Select / stehen und das Dialogfeld mit Debuggen kommt.
Da komme ich auch nicht richtig weiter.
Vielleicht könntest du auch noch einmal eine kleine Überarbeitung vornehmen. In Schritt 2 und Schritt 3 habe ich beschrieben, dass das alte Tabellenblatt bestehen bleiben soll und ein Neues erstellt werden soll.

Falls du noch einmal drüber schauen möchtest füge ich den Link der Datei bei.
Vielen Danke
Olaf

https://www.herber.de/bbs/user/162593.xlsm

Anzeige
AW: Tabellenblattname LottoBingox
31.08.2023 08:12:22
MCO
Hallo Olaf,

Wie schon in meiner ersten Antwort beschrieben:

"Füge das in das Modul des Tabellenblattes ein:"

Damit reagiert der Code mit "Worksheet_Change(ByVal Target As Range)" auf Änderungen im Blatt.
Der Code wird mit dem Blatt mit kopiert und ist dann auch wieder im neuen Blatt aktiv.

Zum Testen hab ich einfach händisch eine 6 eingegeben. Läuft super.

Probier´s nochmal.

Gruß, MCO
AW: Tabellenblattname LottoBingox
01.09.2023 19:09:39
Olaf
Hallo MCO,
ich möchte dich nicht nerven, aber bei mir funktionier es nicht. Ich habe die Datei noch einmal angehängt, würdest du bitte noch einmal draufschauen. Ich weiß nicht was ich Gegebenen falls falsch gemacht habe.
Erstellt dein Quelltext ein neues Tabellenblatt also (+1) und behält das alte Tabellenblatt bei?

Vielen lieben Dank im Voraus.
Olaf


https://www.herber.de/bbs/user/162653.xlsm
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige