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.
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.
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
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
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.
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
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.
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
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.
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
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
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.
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
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.
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
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.
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.