Clever-Excel-Forum

Normale Version: Getränkeliste erweitern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich habe vor längerer Zeit eine Getränkeliste bekommen um sie für unsere Zwecke, einem kleinen Verein mit 30 Mitgliedern, zu ändern.
Bevor ich mich jetzt daran versuche diese "Hübsch" zu machen habe ich eine Frage:
So wie die Tabelle jetzt ist kann immer nur eine Getränkeart ausgewählt werden und muß dann gebucht werden bevor die selbe Person noch ein anderes Getränk mitnehmen kann. Kann man das ändern das 2 oder 3 verschiedene getränke ausgewält werden können vor dem buchen?? Huh 

Ich hoffe das mir einer Helfen kann.
Hallo,

Zitat:Bevor ich mich jetzt daran versuche diese "Hübsch" zu machen habe ich eine Frage:

da man meiner bescheidenen Meinung nach bei Deinem Vorhaben die Makros eh großflächig ändern muß
mein Vorschlag, mach sie "Hübsch" bzw. baue Dir eine eigene Datei auf, so wie Du Dir das vorstellst.

Danach können wir uns über die Makrosteuerung Gedanken machen und ... ja klar ist Deine Vorstellung
erfüllbar. Aber eben mit anderen Makros und wenn Du die Datei sowieso Hübschen willst, dann sollte das
vorher passieren. Sonst wäre das letztendlich ja doppelte Arbeit.
Hallo Käpt`n Blaubär,
die hochgeladene Datei ist die Ursprungsdatei die ich in vielen Funktionen schon abgeändert habe. Nur noch nicht "Hübsch" :19: .
Das Ganze funktioniert jetzt mit Transpondern für die einzelnen Mitglieder zum buchen Ihrer Getränke und die Arbeitsblätter sind natürlich Passwortgeschützt.
Ich kann ja mal den jetzigen Stand der Dinge hochladen wenn es helfen würde.
Hallo,

Zitat:Ich kann ja mal den jetzigen Stand der Dinge hochladen wenn es helfen würde.

Hmmmm, ...
wünsche Dir besser nicht, daß ich darauf wirklich antworte  :05:
Was will ich mit einer Datei Stand: vorletzte Weihnachten
Hallo Pivo,

so würde ich das vielleicht machen:
Private Sub CommandButton1_Click()
Dim rng As Range, C As Range, Loletzte As Long, maxEintrag As Long
maxEintrag = 5000 'max. Zeilenanzahl für Umsatztabelle

Loletzte = Tabelle2.Cells(Rows.Count, 1).End(xlUp).Row + 1
If Loletzte > maxEintrag Then MsgBox "! Protokoll läuft über !", vbCritical: Range("Mitglied") = "": Range("Getränk") = "": Range("Anzahl") = 1: Exit Sub
If Loletzte > maxEintrag - 2 Then MsgBox "Protokoll läuft bald über", vbInformation

Application.ScreenUpdating = False
ActiveSheet.Unprotect
If Range("Mitglied") <> "" And Range("Getränk") <> "" Then
 For Each rng In Range("Liste")
   If rng.Value = Range("Mitglied").Value Then
     rng.Offset(, 2) = rng.Offset(, 2) - (Range("Preis") * Range("Anzahl"))
     For Each C In Range("D2:D61")
       If C.Value = Range("Getränk").Value Then
         C.Offset(, 2) = C.Offset(, 2) + Range("Anzahl")
         Tabelle2.Unprotect
         Tabelle2.Cells(Loletzte, 1) = Date
         Tabelle2.Cells(Loletzte, 2) = Range("Getränk")
         Tabelle2.Cells(Loletzte, 3) = Range("Preis")
         Tabelle2.Cells(Loletzte, 4) = Range("Anzahl")
         Tabelle2.Cells(Loletzte, 5) = Range("Umsatz")
         Tabelle2.Cells(Loletzte, 6) = Range("Mitglied")
         Tabelle2.Protect
         Exit For
       End If
     Next
     If MsgBox("Bei: " & Range("Mitglied").Value & " wurden " & vbLf & Format(Range("Preis") * Range("Anzahl"), "0.00 €") & " abgebucht." & _
               String(2, vbNewLine) & "Noch mehr Getränke kaufen?", vbYesNo + vbQuestion) = vbNo Then
       Range("Mitglied") = ""
     Else
       Range("Getränk").Select
     End If
     Range("Anzahl") = 1
     Range("Getränk") = ""
     Exit For
   End If
 Next
 If maxEintrag - Loletzte < 5 And maxEintrag - Loletzte > 1 Then MsgBox "noch " & maxEintrag - Loletzte & " Einträge frei", vbInformation
 If maxEintrag - Loletzte = 1 Then MsgBox "nur noch " & maxEintrag - Loletzte & " Eintrag frei", vbInformation
 If maxEintrag = Loletzte Then MsgBox "Es ist kein neuer Eintrag mehr frei", vbCritical, "Protokollüberlauf"
End If

ActiveSheet.Protect
Application.ScreenUpdating = True
End Sub
Gruß Uwe