1.9k Aufrufe
Gefragt in Tabellenkalkulation von patejoker Einsteiger_in (53 Punkte)
Hallo liebe Gemeinde,
meine Frage ist folgende

ist es möglich das man einen Button hat der folgendes tut.

In Zelle A1 stehe z.B. Bier und in Zelle B1 soll eine Anzahl eingetragen werden, diese sollte sich jedoch jedesmal um +1 verändern wenn mann auf den Button drückt.

(Also z.B. lege ich einen Button BIER an und immer wenn ich drauf drücke steht in Zelle B1 1dann drück ich werden +1 dazugerechnet und das Ergebinss angezeigt also steht in Zelle B1 nun nicht mehr 1 sondern 2)

ist das möglich und wenn ja wie?!

Und vorallem geht das Tabellen übergreifend, so das ich am Ende auf der Tabelle 2 auf BIER drücke und in Tabelle 1 sich das ergebniss ändert)

Ich hoffe ihr könnt mir helfen.

Lieben Gruß da lass.

6 Antworten

0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi.

gehe in den VBA-Editor, füge ein allgemeines Modul ein und kopiere dort den folgenden Code hinein:
Sub BierZaehlen()
Worksheets("Tabelle1").Range("B1") = Worksheets("Tabelle1").Range("B1") + 1
End Sub

Erstelle im 1. Tabellenblatt einen Schalter aus der Formular-Symbolleiste und weise ihm das Makro zu. Anschließnd kannst du den Schalter kopieren und in jedes Tabellenblatt einfügen.

Evtl. musst du im Code Tabelle1 umbenennen - es ist das Tabellenblatt, in welchem gezählt werden soll.

Bis später,
Karin
0 Punkte
Beantwortet von patejoker Einsteiger_in (53 Punkte)
Super ich danke dir, ist es nun jedoch auch noch möglich das wenn ich beim ersten mal und nur beim ersten mal auf denn Button drücke er mir auch eine Zeit in feld B2 schreibt, also das es dann so aussieht:

Bier: 1 Start: 17:30 Uhr

und wenn ich dann nochmal auf den Button drücke sollte die Start zeit natürlich unverändert bleiben.

damit geht es leider nicht da er die Zeit immerwieder änder würde.

If Target.Column = 1 Then
Application.EnableEvents = False
Target.Offset(0, 1).Value = Format(Now, "hh:mm:ss")
Application.EnableEvents = True
Target.Offset(0, 3).Select
End If

Ist aus einem anderem Projekt.

Also wenn du weiter weißt oder jemand anderes wäre es sehr lieb !!

PS: Das ganze sollte leider auch für mehrere sachen gehen da ja einige untereinander stehen sollten Sie alle eine Startzeit bekommen.

z.B.

Bier 1 Start 17:30 Uhr
Cola 1 Start 17:23 Uhr
Fanta 1 Start 17:40 Uhr

usw. ;)

Vielen Dank im Vorraus
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

ergänze den Code durch diese Zeilen:
If Worksheets("Tabelle1").Range("B2") = "" Then
Worksheets("Tabelle1").Range("B2") = Format(Now, "hh:mm:ss")
End If

Wenn du mehrere Sachen zählen willst dann erstelle mehrere Schalter nach dem selben Prinzip. Zellenbezug musst du im Code dann anpassen.

Bis später,
Karin
0 Punkte
Beantwortet von patejoker Einsteiger_in (53 Punkte)
Leider bekomme ich das nicht hin,

wenn ich folgenden Code nehme :

SubBIER()
Worksheets("Anwesende").Range("B7") = Worksheets("Anwesende").Range("B7") + 1
If Worksheets("Anwesende").Range("B7") = "" Then
Worksheets("Anwesende").Range("C7") = Format(Now, "hh:mm:ss")
End If

End Sub

Passiert nichts ausser das er +1 rechnet.

Was mach ich falsch, er soll doch in C7 nun die Zeit vom erstenmal klicken eintragen!?!
0 Punkte
Beantwortet von patejoker Einsteiger_in (53 Punkte)
ok sry habe den fehler selber gefunden ;) Alles verdreht :)
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi,

so wie dein Code jetzt ist, wird zuerst etwas in B7 eingetragen und dann wird geprüft, ob B7 leer ist. Da du ja schon etwas eingetragen hast mit der ersten Codezeile, ist B7 natürlich nicht mehr leer und der Code läuft nie in den If-Teil.

Entweder du setzt die komplette If...End If Anweisung an den Anfang des Codes, oder du belässt die Reihenfolge so und änderst stattdessen beim If "B7" in "C7".

Bis später,
Karin
...