Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Buchen Neu
#21
Hallo Michael,

(31.07.2014, 20:37)michel34497 schrieb: Bei weiteren test ist mir etwas aufgefallen.
Wenn Ich den Namen in der Combox2 auswähle schreibt er auch die beträge in die ListBox, bis dahin alles Ok.
Wähle ich einen neuen Namen in Cb2 an bleiben die alten beträge stehen und die neuen werden hinzugefügt.

Das hatte ich ja in einer meiner Beiträge weiter oben schon geschrieben. Versuche mal als Notbehelf folgendes: Wähle auch in der ComboBox1 einen anderen Namen aus, danach wieder den passenden und dann den passenden für ComboBox2. Zum anderen Problem, teste mal

Code:
Private Sub prcListboxEinlesen(lngLetzte As Long, cboAuswahlbox As ComboBox)
    Dim lngC As Long
    Dim rngBereich As Range 'diese Variable neu eingefügt
    Dim dblSumme As Double
    Static lngA As Long  'aus einer mit Dim angelegten Variablen eine statische gemacht
    
    'wenn es sich bei der Übergabe um die ComboBox1 handelt, setze Variable auf 0
    If cboAuswahlbox = Me.ComboBox1 Then lngA = 0
    For lngC = 5 To lngLetzte
        If Worksheets("Übersicht").Cells(lngC, cboAuswahlbox.ListIndex * 2 + 3) < 0 Then
            Me.ListBox1.AddItem Worksheets("Übersicht").Cells(lngC, 1).Value
            Me.ListBox1.Column(1, lngA) = Format(Worksheets("Übersicht").Cells(lngC, cboAuswahlbox.ListIndex * 2 + 3).Value, "#,##0.00 €")
            dblSumme = dblSumme + Me.ListBox1.Column(1, lngA)
            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(cboAuswahlbox.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 €")
        dblSumme = dblSumme + Me.ListBox1.Column(1, lngA)
        lngA = lngA + 1 'neu eingefügt, damit der Zähler korrekt funktioniert
    End If
    TextBox1.Value = Format(dblSumme, "#,##0.00 €")
End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • michel34497
Antworten Top
#22
Hallo Stefan!
Hab das grade mal eingebaut. Ist nicht ganz so wie ich das gedacht habe aber kann damit ersteinmal leben.
Danke nochmals.
Hast du für die andere frage die ich gestellt habe, vieleicht auch eine vorschlag?
was mir aufgefallen ist in meiner UF das es vieleicht keine TextBox sein dürft sondern ein Label.
In der TextBox kann man ja werte ändern, was aber nicht sein darf. Meine frage ist, was ist am sinnvollsten den Betrag anzuzeigen und wie könnte der Code lauten?

Danke Danke Danke


Man hab eben beim Testen gar nicht gesehen das du schon alles mit eingebaut hast!!!!!!!!
Teste jetzt erstmal genauer!

Nochmals Tausen Dank
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top
#23
Hallo Michael,

es wird nicht richtig berechnet, wenn Du beide ComboBoxen benützt. Habe dies nun geändert.
Code:
Private Sub prcListboxEinlesen(lngLetzte As Long, cboAuswahlbox As ComboBox)
     Dim lngC As Long
     Dim rngBereich As Range 'diese Variable neu eingefügt
     Static dblSumme As Double
     Static lngA As Long  'aus einer mit Dim angelegten Variablen eine statische gemacht
    
     'wenn es sich bei der Übergabe um die ComboBox1 handelt, setze Variable auf 0
     If cboAuswahlbox = Me.ComboBox1 Then lngA = 0: dblSumme = 0
     For lngC = 5 To lngLetzte
         If Worksheets("Übersicht").Cells(lngC, cboAuswahlbox.ListIndex * 2 + 3) < 0 Then
             Me.ListBox1.AddItem Worksheets("Übersicht").Cells(lngC, 1).Value
             Me.ListBox1.Column(1, lngA) = Format(Worksheets("Übersicht").Cells(lngC, cboAuswahlbox.ListIndex * 2 + 3).Value, "#,##0.00 €")
             dblSumme = dblSumme + Me.ListBox1.Column(1, lngA)
             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(cboAuswahlbox.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 €")
         dblSumme = dblSumme + Me.ListBox1.Column(1, lngA)
         lngA = lngA + 1 'neu eingefügt, damit der Zähler korrekt funktioniert
     End If
     TextBox1.Value = Format(dblSumme, "#,##0.00 €")
End Sub

Zu der Textbox: Stelle die Enable-Eigenschaft der Textbox auf False, dann kannst Du in der Textbox nichts mehr ändern.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#24
Hallo Stefan!
Danke für die Hilfe!
Ich weiß Nicht warum aber so wie das geschrieben hast läuft der Code Nicht bei mir.
Bekomme Laufzeitfehlerf.
Habe dies auch in der andern Datei getestet, immer dasselbe

Code:
Private Sub ComboBox2_Change()
Dim loLetzte As Long
Dim dblwert As Double, dblSumm As Double
If Me.ComboBox2.ListIndex > -1 Then
    loLetzte = Cells(Rows.Count, 1).End(xlUp).Row
End If
    
'Me.ListBox1.Clear
'die ausgewählte ComboBox wird mit übertragen
Call prcListboxEinlesen(loLetzte, Me.ComboBox2) ' neu eingefügt um ListBox zu aktivieren
End Sub

Wo kann der Fehler sein?

Ich finde ihn im moment Nicht
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top
#25
Hallo Michael,

wenn Du mir verraten würdest, wo der Laufzeitfehler kommt und wie er lautet, würdest Du mir sehr helfen.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#26
Hallo Stefan!
Ich habe es gefunden!
Hatte mir nochmals eine Arbeitskopie von der Datei erstellt, dabei ist irgendetwas schief gelaufen.
Habe den Code dann in Orginal eingefügt und er funktioniert!

Bin grade dabei den rest aus zu tüfteln :92:
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top
#27
Hallo Leute!
Brauch eure Hilfe mal wieder!
Über die UF1 Bezahlen bekomme ich einen Fehler wenn die ListBox wieder eingelesen soll "Argument ist nicht optional"
Wie bekomm ich das weg?
Das nächste ist:
wenn ein Pärchen ausgewählt ist bucht der Code nur bei einer Person. Was und wie muss ich ändern?

Tausend Dank!


Angehängte Dateien
.xlsm   Buchen.xlsm (Größe: 349,56 KB / Downloads: 2)
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top
#28
Hallo Michael,

(09.08.2014, 21:37)michel34497 schrieb: Über die UF1 Bezahlen bekomme ich einen Fehler wenn die ListBox wieder eingelesen soll "Argument ist nicht optional"
Wie bekomm ich das weg?

Ist klar, das da der Fehler kommt. Dein Aufruf einer Prozedur im Command-Button-Ereignis
Code:
Private Sub CommandButton1_Click()
   'Variablendekleration und Code entfernt, da hier ohne Belang
   Call prcListboxEinlesen
End Sub

Und das Makro dazu (nur die erste Zeile)
Code:
Private Sub prcListboxEinlesen(lngLetzte As Long, cboAuswahlbox As ComboBox)

Beide Parameter sind hier erforderlich.

Zu deinem anderen Problem: Das ist nicht so einfach, denn die Beträge kommen aus zwei verschiedenen Spalten und dazu müsste die Listbox erweitert werden. Bisher hat die Listbox 3 Spalten, 2 die Du siehst und 1 die nicht angezeigt wird. Jetzt muss beim Einlesen auch die Spalte mit eingetragen werden. Leider krankt der bisherige Code auch schon daran, das in der dritten Spalte nicht alles befüllt wird und zwar hier

Code:
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 €")
         dblSumme = dblSumme + Me.ListBox1.Column(1, lngA)
         lngA = lngA + 1 'neu eingefügt, damit der Zähler korrekt funktioniert
     End If

Siehst Du hier eine Codezeile, wo die Zeile eingetragen wird? Und was ist mit der ComboBox? Welche soll genommen werden? Und wie sollen die einzelnen Beträge mit dem Einzahlungsbetrag verrechnet werden?
Wenn ich mal hier Gaby und Ebi hernehme, die ein Pärchen bilden und 25 Euronen einzahlen.

Arbeitsblatt mit dem Namen 'Übersicht'
 ANOPQ
1Auszahlung80,73 58,91 
2Offener Beitrag -24,88 -5,00
3Erspielt119,92 98,10 
4DatumGABY EBI 
1708.02.201411,50 8,80 
1808.03.20148,80 7,40 
1906.04.201414,20 9,60 
2004.05.2014 -9,946,80 
2105.05.2014 -9,946,80 
2221.05.2014 -2,50 -2,50
2317.07.2014 -2,50 -2,50
2423.07.2014 -2,50 -2,50

ZelleFormel
N1=SUMME(N3-$W$1)
P1=SUMME(P3-$W$1)
O2=SUMMEWENN(O5:O23;"<0";O5:O23)
Q2=SUMMEWENN(Q5:Q23;"<0";Q5:Q23)
N3=SUMME(N5:N238)
P3=SUMME(P5:P238)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Sollen zuerst alle Fehlbeträge von Gaby genommen werden? Da wird sich Ebi freuen.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#29
Hallo Stefan!
Danke für die antwort.
Doch leider hilft mir das auch nicht richtig weiter.

Habe die Zeile geändert und bekomme dann entwerder Syntax Fehler oder Mehrdeutige......

Code:
call prcListboxEinlesen(lngLetzte As Long, cboAuswahlbox As ComboBox)

Komme einfach nicht weiter! es hat doch schon mal funktioniert Huh.
Was mach ich FALSCH oder wo ist der Fehler ???????????????????

Zu den andren Schreibe ich gleich nochmal einen Beitrag.
Möchte ersteinmal das er die ListBox wieder einliest.
mfg
Michael
:98:

WIN 10  Office 2019
Antworten Top
#30
Hallo Michael,

(11.08.2014, 17:52)michel34497 schrieb: Was mach ich FALSCH oder wo ist der Fehler ???????????????????

Die Prozedur prcListboxEinlesen wird aus mindestens zwei Makros heraus aufgerufen. ComboBox1_Change und ComboBox2_Change. Lautet da der Aufruf auch so, wie Du ihn gepostet hast?

Und einfach einen aus den Codes rauskopieren geht auch nicht, denn sonst hätte ich ihn schon gepostet. Das Ganze muss umgebaut werden, aber ich warte mal auf deinen Antwort bezüglich der Fehlbeträge.
Gruß Stefan
Win 10 / Office 2016
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste