Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Rennrunden mit Excel zusammenzählen??





Frage

Hallo, habe folgende Frage: Gibt es eine Möglichkeit, Runden mit Exel anhand der Eingabe der Startnummer zusammenzählen zu lassen? Es sollte folgendermassen aussehen: Fahrer 1 hat die Startnummer 1 Fahrer 2 hat die Startnummer 2 Fahrer 3 hat die Startnummer 3 Das geht bis 40 Fahrer. Die Fahrer müssen 4 Stunden lang ihre Runden auf eine Strecke zurücklegen, und der die meisten Runden gefahren hat, ist Sieger. Die Eingabe der Startnummer erfolgt manuell: Also: Wenn ich in einer bestimmten Zelle die Nr. 17 eingebe, muß die Gesamtrundenzahl des Fahrers 17 um 1 addiert werden, das gleiche natürlich auch bei der Eingabe der anderen Startnummern:-) Wer kann das lösen. Wäre nett, wenn Ihr mir helfen könntet. Gruß, Zorrex

Antwort 1 von coros

Nabend Zorrex,

ich hätte da eine VBA Lösung. Nachfolgender Code in das VBA Projekt Deiner Tabelle, in der die Zählung erfolgen soll, einfügen.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Startnummer As Integer
Application.EnableEvents = False
Startnummer = Range("A1")
If Startnummer = Startnummer Then
Cells(Startnummer, 3) = Cells(Startnummer, 3) + 1
End If
Application.EnableEvents = True
End Sub


Bei dem Code muss in Zelle A1 eine Zahl zwischen 1 und 40 eingegeben werden. In Spalte C in den Zellen 1 bis 40 werden entsprechend der eingegebenen Zahl die Werte um jeweils 1. Also wenn z.B. eine 5 eingegeben wird, wird in Zelle C5 der vorhandene Wert um 1 erhöht, wenn eine 6 eingegeben wird, dann in Zelle C6 usw.
Wenn in einer anderen Zelle als in A1 die Startnummer eingegeben werden soll, muss in Zeile

Startnummer = Range("A1")

die Zellbezeichnung A1 gegen die Zellbezeichnung, in der der Eintrag erfolgen soll, geändert werden. Wenn in einer anderen Spalte als in C die Werte um 1 erhöht werden soll, muss in der Zeile

Cells(Startnummer, 3) = Cells(Startnummer, 3) + 1


die Zahl, die in den Klammern steht, abgeändert werden. Wobei die 3 für Spalte C steht, für Spalte A würde eine 1 stehen, für Splate B eine 2, für Spalte D eine 4 usw.

Da ich nicht weiß, ob Du Dich mit VBA (Visual Basic) auskennst, kommt hier eine kurze Anweisung, wie Du den Code in Deine Tabelle bekommst.

1. Markiere die Anweisung aus diesem Beitrag und Kopiere (Strg c) diesen.

2. Klicke in Deiner Exceldatei in der Menüleiste nacheinander auf Extras => Makro => Visual Basic Editor oder drücke die Tastenkombination Alt F11

3. In dem neu geöffneten Fenster suche auf der linken Seite nach dem Eintrag VBA Projekt(Hier der Name Deiner Tabelle)

4. Klicke danach in dem linken Fenster auf den Eintrag Tabelle1(Dein Tabellenname) oder Tabelle2(Dein Tabellenname),bzw die Tabelle, in dem der Code wirken soll.

5. Füge nun die vorher kopierte Anweisung in das rechte leere Fenster ein.

Du solltest zum Abschluss noch die Sicherheitseinstellung, die beim Öffnen der Datei abgefragt wird, kontrollieren. Klicke dazu nacheinander in der Menüleiste wieder auf Extras => Makro und dann auf Sicherheit.... Gehe, falls nicht schon angezeigt, auf die Registerkarte Sicherheitsstufe und schaue dort nach, ob die Einstellung Mittel aktiviert ist. Wenn nicht, aktiviere diese Einstellung, da sonst der Code nicht ausgeführt werden kann. Beim nächsten Öffnen Deiner Datei kommt eine Abfrage, ob Makros aktiviert oder deaktiviert werden sollen. Klicke auf aktivieren und der Code wird ausgeführt.

So, ich hoffe, Du kommst klar und Dir gefällt der Code. Bei Fragen oder Problemen, melde Dich noch mal.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von coros

Hi ich nochmal,

eine andere Lösung wäre, anstelle der Eingabe in einer Zelle, die Eingabe über ein Eingabefeld (UserForm) zu realisieren. Da das etwas schwer zu beschreiben ist, habe ich Dir mal eine Beispieldatei ins Netz gestellt. Die Datei findest Du
hier.


Wenn Du Fragen zu der Datei hast, melde Dich noch mal.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein

Antwort 3 von Zorrex

Hallo coros,

das sieht ja Super aus.

Im UserForm Eingabefeld kann ich nur einstellig eingeben. Kann man es so realisieren, das der Wert automatisch übernommen wird, also einfach nur die Zahl eingeben, enter drücken ohne das Fenster dauernd schließen zu müssen?

Gruß,

Zorrex

Antwort 4 von coros

Hi Zorrex,

Du musst das Fenster nicht immer schließen. Gebe einfach immer eine neue Zahl in das Feld ein, ohne die Schaltfläche zu bedienen und in der entsprechenden Zelle wird eine 1 dazuaddiert.


MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 5 von Zorrex

Hi Coros,
danke, hab es gerade gesehen:-(

es geht nur mit einstelligen Zahlen. Wie bekomme ich es hin, dass auch die zweistelligen mitgezählt werdn.

Gruß, Zorrex

Antwort 6 von coros

Moin Zorrex,

war ein kleiner Flüchtigkeitsfehler von mir. Die geänderte Beispieldatei findest Du wieder
hier.
Du solltest die Datei aber nicht im Explorer öffnen lassen, sondern mit der rechten Maustaste und dann Ziel speichern, auf Deinen Rechner kopieren, bzw. speichern. Beim Ausführen im Explorer, erscheint komischerweise ein Laufzeitfehler. Aber in Excel funktionierts.

Du musst allerdings nach jeder Eingabe eine Taste, z.B. die Enter- oder Tabtaste, betätigen, damit der Eintrag in die tabelle übernommen wird.

Ich hoffe, das hilft Dir erst einmal. Bei Fragen, melde Dich noch mal.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.


Antwort 7 von Zorrex

Hallo Coros,

klappt wunderbar!

Bist Du irgendwie per Email erreichbar?. Hätte noch einige Änderungen. Sollte auch nicht umsonst sein!

Gruß,

Zorrex

Antwort 8 von coros

Tach Zorrex,

klar bin ich erreichbar und zwar unter der Adresse:coros@onlinehome.de. Dorthin kannst Du Deine Änderungswünsche schicken, wenn es nicht möglich ist, diese hier im Supportnet zu erledigen. Da ich alle Mails, deren Absender ich nicht kenne, gnadenlos lösche, binde daher in der Betreffzeile bitte irgendwie das Wort Supportnet mit ein. Den letzten Satz habe ich überlesen. Wer hier im Supportnet unterwegs ist und versucht anderen zu helfen, macht so etwas aus Spaß an der Freude und nicht um sich an den Lösungen zu bereichern.

MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.

Antwort 9 von nighty

hi alle :)

vielleicht ist er ja reich, grins :)

dann buedde dem betreiber des SN SPENDEN,da wird es gebraucht :)))

gruss nighty

Antwort 10 von Zorrex

@ oberley

wenn ich reich wäre, dat wäre tooolll:-)

@ coros,

es kommt immer darauf an, wie und wem man hilft.
Wenn ich mit der Exceldatei aud Deine Kosten Profit machen könnte?

Nein, wir brauchen es für ein Mopedrennen, denn 4 Stunden lang die Fahrer per Strichliste zu führen, das haben wir letztes Jahr gemacht, dann mußte noch mühevoll zusammengerechnet werden, und und und.

Kann ich oben einfach noch 2 oder 3 Zeilen einfügen, oder muß ich dann bei dem Marko etwas ändern?

Dort oben hätte ich gerne noch Platz für eine Überschrift.

Gruß,

Zorrex

Antwort 11 von coros

Hi Zorrex,

klar geht das. Ändere einfach in dem Code, der in der UserForm hinter dem Eingabefeld steht, die Zeile

Cells(Startnummer, 3) = Cells(Startnummer, 3) + 1

in

Cells(Startnummer + 3, 3) = Cells(Startnummer + 3, 3) + 1


Bei der geänderten Zeile wird erst ab Zeile 4 geschrieben. Das Bedeutet, der Fahrer mit der Nr. 1 muss in Zeile 4 stehen. Wenn Du in einer anderen Zeile anfangen möchtest, ändere in der Zeile einfach die beiden Zahlen in den Klammern, die hinter dem Plus (+) stehen.

Bei Fragen oder weiteren Änderungswünschen melde Dich wieder.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 12 von Zorrex

Hi Coros,

ich habe den Code so abgeändert, wie es oben steht, dannn zwei Zeilen hinzugefügt, leider zählt er immer noch die Runden in der ersten Zeile weiter.

Gruß,

Zorrex

Antwort 13 von coros

Moin Zorrex,

komisch, eigentlich sollte das nicht so sein. Bei mir ist das auch nicht so. Poste Doch mal bitte Deinen jetzigen Code, damit man schauen kann, ob da ein Fehler drin ist.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 14 von Zorrex,

Hi Coros,

funktioniert jetzt, ich habe die Plus Zeichen vergessen. Wollen mal schauen, ob es Samstag klappt.


Gruß,

Zorrex

Antwort 15 von coros

Hi Zorrex,

na siehste, klappt doch. Dann bleibt nur noch eins: Ich wünsche Euch viel Spaß am Samstag bei Eurem Rennen und viel Glück auch noch. Danke auch für die Rückmeldung.

MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.