Office: (Office 2019) Automatisch neue nummer vergeben

Helfe beim Thema Automatisch neue nummer vergeben in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo und Guten Tag Leider bin ich noch ein Anfänger in VBA und würde mich freuen wenn ich kurz HILFE bekommen könnte. Folgende Problem: Ich möchte... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von MartinoTino, 16. Mai 2020.

  1. Automatisch neue nummer vergeben


    Hallo und Guten Tag

    Leider bin ich noch ein Anfänger in VBA und würde mich freuen wenn ich kurz HILFE bekommen könnte.

    Folgende Problem:
    Ich möchte beim erstellen aus Spalte A den grössten Zahlen wert ermitteln und diesen um eine eins erhöhen bei einem neuen Datensatz.
    Nur beim Löschen wird nicht der grösste Wert genommen sondern je nach Anzahl Löschungen wird es um eins Reduziert. Somit habe ich dann zweimal den gleiche wert in Spalte A.


    Für das habe ich folgenden Code.

    Private Sub EINTRAG_ANLEGEN()
    Dim lZeile As Long

    lZeile = lCONST_STARTZEILENNUMMER_DER_TABELLE

    'Schleife bis eine leere ungebrauchte Zeile gefunden wird
    Do While IST_ZEILE_LEER(lZeile) = False
    lZeile = lZeile + 1 'N?chste Zeile bearbeiten
    Loop

    'Nach Durchlauf dieser Schleife steht lZeile in der ersten leeren Zeile von Tabelle1
    Tabelle1.Cells(lZeile, 1) = CStr("" & lZeile)

    'Und neuen Eintrag in die UserForm eintragen
    ListBox1.AddItem lZeile
    ListBox1.List(ListBox1.ListCount - 1, 1) = CStr("")
    ListBox1.List(ListBox1.ListCount - 1, 2) = CStr("Artikel-Nr.")
    ListBox1.List(ListBox1.ListCount - 1, 3) = ""
    ListBox1.List(ListBox1.ListCount - 1, 4) = ""

    'Den neuen Eintrag markieren mit Hilfe des ListIndex

    ListBox1.ListIndex = ListBox1.ListCount - 1
    'Durch das Click Ereignis der ListBox werden die Daten automatisch geladen

    ' Cursor in das erste Eingabefeld stellen und alles vorselektieren,

    TextBox2.SetFocus
    TextBox2.SelStart = 0
    TextBox2.SelLength = Len(TextBox1)

    End Sub

    Es wurde mich freuen wenn mir einer helfen kann.

    Mit freundlichen Grüssen

    Tino

    :)
     
    MartinoTino, 16. Mai 2020
    #1
  2. Moin
    Code:
    Grösste Zahl in SpalteA +1
    Es muessen aber richtige Zahlen sein.
    gruss hary
     
  3. Guten Tag

    Recht herzlichen dank für dein Feedback. Ich habe da ausprobiert aber leider keine Besserung
    Was muss ich unter Richtige Zahl verstehen.
    Ich habe das überprüft und richtig es ist ein Text wie bekomme ich den eine Zahl.

    Ich habe mal den Code für NEU, LÖSCHEN und SPEICHERN beigelegt.

    Eintrag Speichern

    Private Sub EINTRAG_SPEICHERN()
    Dim lZeile As Long
    Dim i As Integer

    'Kein Datensatz in ListBox markiert => Routine beenden
    If ListBox1.ListIndex = -1 Then Exit Sub

    'Zeilennummer des ausgewählten Datensatzes
    lZeile = ListBox1.List(ListBox1.ListIndex, 0)

    For i = 1 To iCONST_ANZAHL_EINGABEFELDER
    Tabelle1.Cells(lZeile, i) = Me.Controls("TextBox" & i)
    Next i

    'aktualisieren Listbox
    ListBox1.List(ListBox1.ListIndex, 1) = TextBox1
    ListBox1.List(ListBox1.ListIndex, 2) = TextBox2
    ListBox1.List(ListBox1.ListIndex, 3) = TextBox3
    ListBox1.List(ListBox1.ListIndex, 4) = TextBox4

    End Sub

    Eintrag Löschen

    Private Sub EINTRAG_LOESCHEN()
    Dim lZeile As Long

    'Kein Datensatz in der ListBox markiert => beenden
    If ListBox1.ListIndex = -1 Then Exit Sub

    'Löschabfrage
    If MsgBox("Sie m?chten den markierten Datensatz wirklich l?schen?", _
    vbQuestion + vbYesNo, "Sicherheitsabfrage!") = vbYes Then

    'Wenn löschen

    'Zeilennummer des ausgewälten Datensatzes
    lZeile = ListBox1.List(ListBox1.ListIndex, 0)

    'Ganze Zeile löschen
    Tabelle1.Rows(CStr(lZeile & ":" & lZeile)).Delete

    'Entfernen Eintrag aus ListBox
    ListBox1.RemoveItem ListBox1.ListIndex

    End If

    End Sub

    Neuer Datensatz

    Private Sub EINTRAG_ANLEGEN()
    Dim lZeile As Long

    lZeile = lCONST_STARTZEILENNUMMER_DER_TABELLE
    'Schleife bis eine leere ungebrauchte Zeile gefunden wird
    Do While IST_ZEILE_LEER(lZeile) = False
    lZeile = lZeile + 1 'N?chste Zeile bearbeiten
    Loop

    'Nach Durchlauf dieser Schleife steht lZeile in der ersten leeren Zeile von Tabelle1
    Tabelle1.Cells(lZeile, 1) = Application.Max(Tabelle1.Columns(1)) + 1

    'Eintrag in die UserForm eintragen
    ListBox1.AddItem lZeile
    ListBox1.List(ListBox1.ListCount - 1, 1) = CStr("")
    ListBox1.List(ListBox1.ListCount - 1, 2) = CStr("Artikel-Nr.")
    ListBox1.List(ListBox1.ListCount - 1, 3) = ""
    ListBox1.List(ListBox1.ListCount - 1, 4) = ""

    'Eintrag markieren mit Hilfe des ListIndex
    ListBox1.ListIndex = ListBox1.ListCount - 1
    'Durch das Click Ereignis der ListBox werden die Daten automatisch geladen

    'Cursor in das erste Eingabefeld stellen und alles vorselektieren
    TextBox2.SetFocus
    TextBox2.SelStart = 0
    TextBox2.SelLength = Len(TextBox1)

    End Sub


    Besten Dank im Voraus für deine Hilfe

    Mit freundlichen Grüssen

    Tino
     
    MartinoTino, 19. Mai 2020
    #3
  4. Automatisch neue nummer vergeben

    Moin
    Mit dem Hochkomma, im ersten Code, machst du eine Textzahl.
    Code:
    Da sollte die hoechste Zahl +1 rauskommen.

    Application.Max ist das VBA Pondon zur Excelformel: =Max()
    Kannst du auch so schreiben:
    Code:
    So oder so wird die groesste Zahl aus SpalteA genommen und eins dazu gerechnet.
    Lade mal eine Bsp.-mappe hoch. Dann kann man es nachvollziehen.
    gruss hary
     
  5. Hallo Hary

    Sorry das ich mich erst jetzt melde. Mal recht herzlichen Dank für deine Hilfe.
    Du hattest recht mit der Zahl.
    Jetzt Funktioniert es super.
    Habe noch eine paar Verbesserungen im VBA gemacht und nun macht das was ich gern möchte.

    Bis auf eine Sache.
    Habe folgenden Code geschrieben.


    Private Sub TextBox77_Change()
    Call Summe5
    End Sub
    ---------------------------
    Private Sub TextBox78_Change()
    Call Summe5
    End Sub
    ------------------------------------
    Private Sub Summe5()

    If Len(TextBox76.Text) = 0 Then
    TextBox76.Value = 0
    End If
    If Len(TextBox77.Text) = 0 Then
    TextBox77.Value = 0
    End If
    If Len(TextBox78.Text) = 0 Then
    TextBox78.Value = 0
    End If
    Me.TextBox79.Value = CDec(TextBox76.Value) * CDec(TextBox77.Value) * CDec(TextBox78.Value)

    End Sub


    Das Problem ist wenn ich eine Punkt eingebe kommt es zu einem Debuggen.
    (Laufzeitfehler 13)
    wenn ich zuerst 0 Eingebe und dann den Punkt ist alles ok.

    Wie kann ich das Abfangen.

    Mit Freundlichen Grüssen

    Tino
     
    MartinoTino, 3. Juni 2020
    #5
  6. Moin
    Eine Moeglichkeit:
    Code:
    Das dass Change Ereigniss bei jeder Eingabe/Aenderung ausgefuehrt wird weisst du??
    Besser ist das Exit Ereigniss. Also nachdem alles in die Textbox eingetragen ist und verlassen wird. Dann pruefen ob alles passt.
    gruss hary
     
Thema:

Automatisch neue nummer vergeben

Die Seite wird geladen...
  1. Automatisch neue nummer vergeben - Similar Threads - Automatisch nummer vergeben

  2. Werte automatisch übernehmen

    in Microsoft Access Hilfe
    Werte automatisch übernehmen: Hallo, ich habe schon wieder ein Problem bei dem ich eure Hilfe brauchen könnte. Vereinfacht dargestellt möchte ich einen Wert aus einer Tabelle automatisch in eine andere Tabelle speichern. Ich...
  3. Automatisches Ausfüllen: Vier-Tage-Woche

    in Microsoft Excel Hilfe
    Automatisches Ausfüllen: Vier-Tage-Woche: Hallo zusammen! Ich würde gerne mal wissen, wie ich es hinbekomme, das ich eine Spalte Datumsbasiert auf der Vier-Tage-Woche automatisch ausfüllen lassen kann anhand der Benutzerdefinierten...
  4. Autom. Email verschieben in Ordner anhand einer Nummer im Betreff

    in Microsoft Outlook Hilfe
    Autom. Email verschieben in Ordner anhand einer Nummer im Betreff: Hallo! Ich würde gerne in Outlook Mails aus der Inbox anhand einer Nummer im Betreff in einen entsprechenden Ordner mit der gleichen Nummer verschieben. Aktuell gibt es im Standard bei "Element...
  5. Fortlaufende Nummer (Aktenzeichen) automatisch vergeben

    in Microsoft Excel Hilfe
    Fortlaufende Nummer (Aktenzeichen) automatisch vergeben: Guten Tag allerseits. Vielleicht könnt Ihr mir helfen. In einem früheren Post hier wurde mir geholfen, bezüglich eines Aktenzeichens. Hier wollte ich einfach nur die Variablen fest vergeben...
  6. fortlaufende Nummer automatisch erzeugen trotz Sortierung

    in Microsoft Excel Hilfe
    fortlaufende Nummer automatisch erzeugen trotz Sortierung: Ich habe eine Liste erstellt die nun bereits 580 Zeilen umfasst. In dieser Tabelle sind Autofilter aktiviert um je nach Bedarf das richtige Beispiel heraus suchen zu können. Nun möchte ich gerne...
  7. Laufende Nummer automatisch um eins erhöhen

    in Microsoft Access Hilfe
    Laufende Nummer automatisch um eins erhöhen: Hallo, ich schreibe derzeit an einer Datenbank für unsere Sanitätsgruppe. Darin möchte ich für ein Formular folgende Funktion einbauen. Das Formular soll eine lfd. Nummer automatisch bei jeden...
  8. Fortlaufende Nummer automatisch erkennen (Excel 2010)

    in Microsoft Excel Hilfe
    Fortlaufende Nummer automatisch erkennen (Excel 2010): Hallo zusammen, </SPAN> ich habe mal wieder ein kleines Problem.</SPAN> Ich habe eine etwas umfangreiche Liste mit Buchungskonten. Da sich die Buchungskonten wiederholen, enthält die Liste noch...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden