Live-Forum - Die aktuellen Beiträge
Datum
Titel
07.05.2024 16:36:49
07.05.2024 14:51:38
07.05.2024 13:27:17
Anzeige
Archiv - Navigation
1924to1928
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Rechnungen mit Userform

Rechnungen mit Userform
18.04.2023 21:10:50
Joe

Guten Abend zusammen,
ich möchte meinen Kumpel eine Rechnungsvorlage erstellen und ihm dabei helfen. Leider ist mein VBA seeeehr schlecht, befinde mich aber in meiner lernphase da ich es mega interessant finde.
Jetzt habe ich schon ein problem. Ich möchte gerne per Userform das ich die Daten eingebe und es dann in die Rechnungen automatisch befüllt und es dann im Tabellenblatt alle rechnungen abspeichert.
Jetzt schon das erste problem im Tabellenblatt alle rechnungen steht die nummer 2023-1 jetzt soll die Userform automatisch 2023-2 machen ( neue Rechnungsnummer )
Auch die Auswahl der Namen stehe ich schon auf dem schlauch, die müssen vom Kundenblatt eingelesen werden usw,..
Könnte jemand helfen.

Danke an alle für eure Zeit

https://www.herber.de/bbs/user/158778.xlsm

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rechnungen mit Userform
18.04.2023 22:13:24
Joe
Hallo Ralf, erstmal Dankeschön für deine Hilfe,
die Rechnungsnummer müsste immer 2023-1 und danach wäre 2023-2.
Könntest du mir Bitte noch erklären wie ich die anderen Daten noch reinbekomme und in die Excel liste eintrage ?
Kann ich daten in der userform die automatisch kommen auch sperren ?

Danke für deine Hilfe


AW: Rechnungen mit Userform
18.04.2023 22:35:24
ralf_b
Nunja, der Anfang ist doch gemacht. Wenn du den Code verstehst, dann ist es kein Problem die Nummer entsprechend zu generieren.
Du solltest(deinem Kumpel) nichts versprechen, wenn du es nicht halten kannst.
Ich sehe schon wohin das führt. VBA ist ja sooo einfach. Nur weil man einfach mal ein Makro aufzeichnen kann, heisst das nicht das man mal eben eine funktionierende Userform zaubern kann. Es ist nicht mit ein bisschen Hilfe getan. In deiner Userform war so gar kein Code außer ein paar Labelclick aufrufe. Als Helfer stellt man sich Unterstützung etwas anders vor. Hast du überhaupt irgendwelche Videos oder Anleitungen gesehen? So das wenigstens ein kleiner Anfang da wäre.


Anzeige
AW: Rechnungen mit Userform
18.04.2023 22:24:30
Alwin WeisAngler
Hallo,
mal ein kleiner Anfang.
Die Rechnungsnummer beginnt mit jedem Kalenderjahr mit der Nummer 1 (Nummernkreis).
Ein paar wenige Übergaben, um einen möglichen Lösungsweg zu zeigen sind ebenfalls anbei.
https://www.herber.de/bbs/user/158780.xlsm

Gruß Uwe


AW: Rechnungen mit Userform
18.04.2023 22:34:43
Joe
Hallo Uwe,
danke ich denke,das ich das andere hinbekomme, aber wie bekomme ich dann die Daten ins Tabellenblatt Rechnungen und dann diese gesamtrechnung rein ?

Nochmal Danke für deine Zeit.


Anzeige
AW: Rechnungen mit Userform
18.04.2023 22:34:04
GerdL
Moin Joe,

vor den Erfolg haben die Götter den Schweiß gesetzt. :-)
Private Sub UserForm_Initialize()
    
    If Len(TextBox1) = 0 Then
        If IsEmpty(Sheets("alle Rechnungen").Range("A2")) Then
            TextBox1 = Year(Date) & "-1"
        Else
            If Left(Sheets("alle Rechnungen").Cells(Rows.Count, 1).End(xlUp), 4) = CStr(Year(Date)) Then
                TextBox1 = Year(Date) & "-" & Mid(Sheets("alle Rechnungen").Cells(Rows.Count, 1).End(xlUp), 6) + 1
            Else
                TextBox1 = Year(Date) & "-1"
            End If
        End If
    End If

End Sub
Gruß Gerd


Anzeige
AW: Rechnungen mit Userform
18.04.2023 22:37:03
Joe
Hallo Gerd,
der Spruch ist Klasse, den muss ich mir merken :-)

Leider komme ich mit dem Code nicht so zurecht wo der hin muss. Bin leider in VBA seeeeehr schlecht :-( Also der Schweiß läuft :-)


AW: Rechnungen mit Userform
18.04.2023 22:40:37
GerdL
Ins Codefenster des Userform, auch Userformmodul genannt..
Viel Erfolg.


AW: Rechnungen mit Userform
18.04.2023 23:27:01
Alwin WeisAngler
z.B. so:

Private Sub CommandButton1_Click()
    Dim arrRech(), Summe%, i&
    With Tabelle3
        .Cells(10, 8) = TextBox1
        .Cells(11, 8) = TextBox4
        .Cells(11, 3) = ComboBox1.List(ComboBox1.ListIndex, 1) & ", " & ComboBox1.List(ComboBox1.ListIndex, 2)
        .Cells(12, 3) = ComboBox1.List(ComboBox1.ListIndex, 3)
        .Cells(13, 3) = ComboBox1.List(ComboBox1.ListIndex, 4) & " " & ComboBox1.List(ComboBox1.ListIndex, 5)
    End With
    For i = 7 To 15 Step 2
        If IsNumeric(Controls("TextBox" & i)) And IsNumeric(Controls("TextBox" & i + 1)) Then
            Summe = Summe + (CDbl(Controls("TextBox" & i) * CDbl(Controls("TextBox" & i + 1))))
        End If
    Next i
    arrRech = Array(TextBox1.Value, CDate(TextBox4.Value), TextBox5.Value, ComboBox1.List(ComboBox1.ListIndex, 1), Summe)
    With Tabelle1
        .Cells(.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).Resize(1, 5) = arrRech
    End With
End Sub
Gruß Uwe


Anzeige
Fehlermeldung
19.04.2023 17:31:55
Joe
Hallo zusammen,

jetzt habe ich schon fast alles eingegeben.
Jetzt kommt ein Fehler: beim die Werte eingeben und berechnung.
Kann man noch die gesamtsumme in der User form anzeigen lassen ?

https://www.herber.de/bbs/user/158791.xlsm

Danke euch, habt ihr mir schon sehr viel gehholfen


AW: Fehlermeldung
19.04.2023 18:00:13
Daniel
Hi
naja, du musst bei solchen Schleifen schon die Textboxnamen anpassen.
deine Textboxen heißen nicht mehr wie wahrscheinlich ursprünglich mal erstellt "Textbox7" bis "Textbox16" (ungerade = Menge, gerade = Einzelpreis) sondern "Txt_Pos_Preis1" bis "Txt_Pos_Preis5" und "Txt_Pos_Menge1" bis"Txt_Pos_Menge5", weil du sie umbenannt hast.
das ist ok und auch sinnvoll von dir gemacht worden, aber du musst halt die Programmierung anpassen.

aus
For i = 7 To 15 Step 2
...
wird jetzt
For i = 1 To 5 
        If IsNumeric(Controls("Txt_Pos_Menge" & i)) And IsNumeric(Controls("Txt_Pos_Preis" & i)) Then
            Summe = Summe + (CDbl(Controls("Txt_Pos_Menge" & i) * CDbl(Controls("Txt_Pos_Preis" & i))))
        End If
Next i
also im die Umbenennung ist schon sinnvoll, aber du musst den Code anpassen.
Das überarbeiten der weiteren Stellen im Code überlasse ich dir.
Gruß Daniel


Anzeige
AW: Fehlermeldung
19.04.2023 19:27:46
Joe
Hallo Daniel,

was müsste ich denn noch machen ? Denn es funktioniert alles :-)
Jetzt weis ich aber nicht, wie im USerform den Betrag anzeigen lassen kann .

Danke Dir


AW: Rechnungen mit Userform
19.04.2023 23:02:21
Alwin WeisAngler
so:

Private Sub Summe()
    Dim i&, Sum
    For i = 1 To 5
        If IsNumeric(Controls("Txt_Pos_Menge" & i)) And IsNumeric(Controls("Txt_Pos_Preis" & i)) Then
            Sum = Sum + (CDbl(Controls("Txt_Pos_Menge" & i) * CDbl(Controls("Txt_Pos_Preis" & i))))
        End If
    Next i
    TextBox6 = Format(Sum, "#,##0.00 €")
End Sub
Du musst natürlich diese Prozedur in jeder zur Berechnung der Summe relevanten Textboxen auslösen. Nimm dazu den _Change Modus. Das reicht für deine Zwecke aus.

Gruß Uwe

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige