Hallo Experten! Ich möchte gerne meine jetzige Buchungsmethode optimieren! Um dies alles zu beschreiben, gibt es jetz erstmal viel Text geben. Alles was ich jetzt beschreibe gibt es schon als Code und läuft auch. Zustand ist: Wenn der Kegelaben beendet ist, soll die Abrechnung erfolgen. Zur Zeit mache ich es so, dass das Startblatt aufgerufen wird und Ich dann in der Spalte AF schaue was jeder einzelne bezahlen muss. Wenn die anwesende Person bezahlt hat, mache ich in der Spalte AG ein x. Haben alle anwesenden bezahlt, betätige ich im Startblatt den CommandButton "Start". Dadurch wird eine UF "Willkommen" gestartet und ich betätige dann den Button "Buchen", durch betätigen dieses Button wird folgendes ausgelöst. Die Tabelle Startblatt wird in Tabelle1 kopiert, die Werte aus Startblatt werden in die Tabelle Übersicht eingetragen. So habe ich schon alles von diesen Abend. Treffen wir uns dann wieder, Spielen wir erst und dann wird wieder abgerechnet. Fehlte das letzte mal einer brauch ich wieder Stift und Papier um alles auszurechnen.
Dies möchte ich gerne einfacher haben und habe dafür eine neue UF erstellt (Hoffe alles bedacht zu haben).
Was ich jetzt gerne haben möchte (ist in der neuen UF Bezahlen): 1. Abrechnung für Pärchen 2. Ausrechnung der Kegelbahn ( Betrag für Kegelbahn soll in eine ander Spalte eingetragen werden) 3. Wenn einer zuviel Bezahlt hat kann er auswählen ob er dies als Spende gebucht haben will oder als Guthaben
Wie kann dies realisiert werden? Ich möchte diese Code's zusammenführen und alles gerne auf einer UF(Bezahlen) haben. Bitte um Vorschläge!
Hallo Stefan! Nach dem ich deine Antwort gelesen habe, mach ich mir neue gedanken und teste was an Code's da ist. Vieleicht bekomme ich ja das doch selber hin Ich werde mich in den nächsten Tagen wieder melden, mit dem ergebniss.
Hallo Leute! Nach dem ich mir gestern noch die nacht zum Tag gemacht habe. Komme ich nicht weiter und brauche eure Hilfe. Wie Stefan schon fragte, soll ein UF durch eine Neue UF "Bezahlen" abgelöst werden. Zu Erklärung: Ich habe in der jetzigen UF " Willkommen " einen Button "Buchen" (ohne UF) und einen Button "Nachbuchen" ( mit UF). Beides soll in Der UF "Bezahlen" vereint werden. Wenn UF "Bezahlen" aufgerufen wird soll, wenn ein Name in der ComboBox ausgewählt ist, in der ListBox alle offenen Beträge angezeigt werden. Alle offenen Beträge sind,die aus der Tabelle "Startblatt" und "Übersicht". Wo ich jetzt nicht weiter komme ist die Beträge in der ListBox alle anzuzeigen. Die offenen Beträge aus Übersicht bekomme ich in der ListBox angezeigt, aber ich weiß nicht wie ich den Betrag vom Startblatt noch rein bekomme. Wie geht das ??????? Dann die nächste frage: Wie kann ich die offenen Beträge zusammen rechen was noch bezahlt werden muss und in der TextBox1 darstellen? Wobei ich auch noch nicht weiß ob eine TextBox oder Label besser ist (der Betrag zum Bezahlen darf ja nicht geändert werden)
Wer kann oder möchte mir weiter helfen? Für alle die Antworten Tausen Dank!
- Du suchst in Spalte B den betreffenden Namen, entweder mit Find oder Du schaust in einer Schleife in jede Zelle und Vergleichst mit Dem gewählten Eintrag aus der Combobox
Code:
With Sheets("Startblatt") iZeile=.Range("B5:B15").Find... .Row
- dann prüfst Du, ob in Af ein Betrag <0 steht
Code:
IF .Range("AF" & iZeile) < 0 Then
- Wenn ja, dann fügst Du ihn der Listbox hinzu.
Code:
ListBox1.AddItem ...
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28 • michel34497
If CheckBox1.Value = 0 Then UserForm_Initialize ComboBox2.Visible = False ComboBox2 = "" End If End Sub
Private Sub CheckBox2_Click() If TextBox3.Value Then TextBox4.Visible = True
End If
If TextBox3.Value = 0 Then UserForm_Initialize TextBox4.Visible = False TextBox4 = "" End If End Sub
Private Sub ComboBox1_Change() Dim loLetzte As Long Dim dblwert As Double, dblSumm As Double If Me.ComboBox1.ListIndex > -1 Then loLetzte = Cells(Rows.Count, 1).End(xlUp).Row End If Me.ListBox1.Clear Call prcListboxEinlesen(loLetzte) ' neu eingefügt um ListBox zu aktivieren End Sub Private Sub CommandButton2_Click() Unload Bezahlen End Sub Private Sub CommandButton3_Click() Unload Bezahlen End Sub Sub prcNamenEinfügen() Dim rngName As Range Dim lngZeile As Long
lngZeile = 9 Worksheets("Spiele").Range("A9:A23").ClearContents For Each rngName In Worksheets("Startblatt").Range("C5:C13,C16:C21") If rngName.Value = 1 Then Worksheets("Spiele").Cells(lngZeile, 1).Value = rngName.Offset(0, -1).Value lngZeile = lngZeile + 1 End If Next rngName End Sub Private Sub rechne() Dim i As Integer
Me.TextBox5 = 0
For i = 1 To 2 If IsNumeric(Me.Controls("TextBox" & i).Value) Then Me.TextBox5 = Me.TextBox5 * 1 + Me.Controls("TextBox" & i).Value End If Next i
End Sub
Private Sub ListBox1_Click()
End Sub
Private Sub UserForm_Initialize()
Dim lngC As Long 'Combobox so einlesen, damit keine leeren Listeneinträge vorkommen.
For lngC = 2 To 20 Step 2 ComboBox1.AddItem Cells(4, lngC) Next lngC
With Me.ListBox1 .ColumnCount = 2 .ColumnWidths = "2cm;1,5cm;1cm"
End With ComboBox2.Visible = False ComboBox1.RowSource = "Startblatt!B5:B13" & loLetzte End Sub Private Sub prcListboxEinlesen(lngLetzte As Long)
Dim lngC As Long, lngA As Long
For lngC = 5 To lngLetzte If Cells(lngC, ComboBox1.ListIndex * 2 + 3) < 0 Then Me.ListBox1.AddItem Cells(lngC, 1).Value Me.ListBox1.Column(1, lngA) = Format(Cells(lngC, ComboBox1.ListIndex * 2 + 3).Value, "#,##0.00 €") Me.ListBox1.Column(2, lngA) = lngC ' dblSumm = dblSumm + Cells(lngc, ComboBox1.ListIndex * 2 + 3) lngA = lngA + 1 End If Next lngC End Sub
Ich verstehe nicht was du meinst (Immer noch anfänger)
Hallo Experten! Igrendwie komme ich nicht weiter, auch Nicht mit der Hilfe Stellung von Andre! Ich bekomme es einfach nicht hin das Code mir aus der Tabelle "Stratblatt Spalte AF" und der Tabelle "Übersicht" die minus Beträge in der "ListBox1" anzeigt. Ich habe keine Ahnung mehr was und wie ich das hinbekomme.
deine Listbox wird ja bisher aus der Tabelle Übersicht befüllt. Hier werden 3 Spalten in die Listbox eingetragen und zwei davon, nämlich das Datum und der Betrag wird dann angezeigt. Was soll beim Startblatt neben dem Betrag angezeigt werden? Das Tagesdatum oder ein anderes? Ich habe es mal mit dem Tagesdatum gemacht und zwar so, wie André es bereits vorgeschlagen hat mit der Find-Methode.
Gruß Stefan Win 10 / Office 2016
Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:1 Nutzer sagt Danke an Steffl für diesen Beitrag 28 • michel34497
Private Sub prcListboxEinlesen(lngLetzte As Long) Dim lngC As Long, lngA As Long Dim rngBereich As Range 'diese Variable neu eingefügt
For lngC = 5 To lngLetzte If Worksheets("Übersicht").Cells(lngC, ComboBox1.ListIndex * 2 + 3) < 0 Then Me.ListBox1.AddItem Worksheets("Übersicht").Cells(lngC, 1).Value Me.ListBox1.Column(1, lngA) = Format(Worksheets("Übersicht").Cells(lngC, ComboBox1.ListIndex * 2 + 3).Value, "#,##0.00 €") Me.ListBox1.Column(2, lngA) = lngC ' dblSumm = dblSumm + Cells(lngc, ComboBox1.ListIndex * 2 + 3) lngA = lngA + 1 End If Next lngC 'neuer Bereich Set rngBereich = Worksheets("Startblatt").Columns(2).Find(ComboBox1.Value, LookIn:=xlValues, lookat:=xlWhole) If Not rngBereich Is Nothing Then Me.ListBox1.AddItem Worksheets("Startblatt").Range("AI2").Value Me.ListBox1.Column(1, lngA) = Format(rngBereich.Offset(0, 30).Value, "#,##0.00 €") End If End Sub
(28.07.2014, 20:26)michel34497 schrieb: Habe den Code noch geändert da er nicht die richtige Spalte eingelsen hat.