Office: (Office 2007) (VBA) UserForm codieren, brauche dringend Hilfe!

Helfe beim Thema (VBA) UserForm codieren, brauche dringend Hilfe! in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Liebe User!!! Kann mir bitte jemand mit meiner Suchfunktion weiterhelfen, ich mochte eine Art Lager Einrichten und dabei Stückzahl per Button... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Vital_26, 26. Februar 2017.

  1. (VBA) UserForm codieren, brauche dringend Hilfe!


    Hallo Liebe User!!!
    Kann mir bitte jemand mit meiner Suchfunktion weiterhelfen,
    ich mochte eine Art Lager Einrichten und dabei Stückzahl per Button und Textfeld in der Tabelle immer Aktuell halten

    Die UserForm habe ich erstellt, Bloß das Programmieren fehlt mir noch (VBA) UserForm codieren, brauche dringend Hilfe! :confused:

    (VBA) UserForm codieren, brauche dringend Hilfe! Bild 1.jpg (VBA) UserForm codieren, brauche dringend Hilfe! Bild 2.jpg

    Die Funktion: (schaut euch bitte zuerst die Bilder an)

    Nachdem ich in der UserForm die Artikelnummer eingegeben und mit ENTER bestätigt habe, müsste unter Artikel "der richtige Artikel erscheinen" damit ich auch weiß, dass es der richtige ist, danach die Menge (z.B. 20) eingeben und "Auslagern" oder "Einlagern" Button drücken, dabei wird die Zahl die in der Tabelle unter dem richtigen Artikel steht um z.B. 20 „Subtrahiert“ oder „Addiert“ es wäre echt super wenn mir dabei jemand helfen könnte.
    Hoffe, dass ich mein Vorhaben mit genügend Info beschrieben habe, bitte fragt, wenn irgendetwas unverständlich ist

    P.S. Ist es möglich den SUCHEN Button mit "ENTER" zu betätigen?

    Hier die Excel Datei:

    Den Anhang 2.xlsm betrachten

    Ich danke im Voraus!!!!
     
    Vital_26, 26. Februar 2017
    #1
  2. sronny Erfahrener User
    Habe dir eine Combobox in deine Form eingefügt, in welcher die Artikelnummern angezeigt werden. Dort kannst du auch
    per Hand eine Artikelnummer eingeben. Wird eine ungültige Nummer eingefügt gibt es eine Abfrage ob du einen neuen Artikel anlegen willst.

    In den Textboxen kannst du Änderungen vornehmen. Mit dem zusätzlichen Button Speichern werden die Änderungen gespeichert..

    Den Anhang 2.xlsm betrachten
     
    sronny, 5. März 2017
    #2
  3. Hallo sronny,
    ist eine echt super Idee aber im Code stimmt wahrscheinlich etwas nicht,
    es sagt mit schon mit der ersten Zahl die ich versuche einzugeben „Diese Artikelnummer ist nicht vorhanden“ Sorry!!!
    MfG
     
    Vital_26, 5. März 2017
    #3
  4. Beverly
    Beverly Erfahrener User

    (VBA) UserForm codieren, brauche dringend Hilfe!

    Hi,

    lösche den gesamten Code für das Change-Ereignis der ComboBox und verwende stattdessen das AfterUpdate-Ereignis:

    Code:
    Private Sub cmbArtikelnummer_[COLOR=#0000ff]AfterUpdate[/COLOR]()
    If cmbArtikelnummer.Value = "" Then Exit Sub
        
    If Not cmbArtikelnummer.MatchFound Then
    
        If MsgBox("Diese Artikelnummer ist nicht vorhanden." & vbCrLf & _
                "Möchten Sie diese als neuen Artikel hinzufügen?", vbYesNo) = vbYes Then
               
    
            txtArtikel.Value = ""
            txtBestand.Value = ""
            txtLagerplatz.Value = ""
            txtMenge.Value = ""
        End If
        
    Else
        Set rngArtikelAdresse = Suche(cmbArtikelnummer.Value)
        Anzeige
    End If
    End Sub
    
    
    Damit wird die Abfrage erst dann gestartet, wenn du mit der Eingabe in der ComboBox fertig bist.


    Außerdem solltest du an allen Stellen mit der Zeile cmbArtikelnummer.RowSource = wsArtikel.Range("A4:A" & iLetzteZeile).Address den rot markierten Teil durch diesen ersetzen "Artikel!" & Range("A4:A" & iLetzteZeile).Address, denn andernfalls bleibt die ComboBox leer.

    Bis später,
    Karin
     
    Beverly, 6. März 2017
    #4
  5. sronny Erfahrener User
    Ja, habe auch gerade das Problem entdeckt.

    Bei ControlSource und RowSource verlangt er immer den Bezug in Form
    von Tabelle!xx

    Beim Test aus dem VBA-Editor heraus funktionierte es nämlich.
    Außerdem habe ich den Hinweis auf den neuen Artikel auch herausgenommen und leere einfach die Felder und beim drücken auf Speichern wird dann ein neuer Artikel angelegt.

    Desweiteren ist jetzt eine Prüfung auf ungültige Eingaben drin - sonst kann es passieren, dass du "Nougatstange" und Bestand addierst...



    Hier die aktuelle Fassung:

    Den Anhang 2.xlsm betrachten
     
    Zuletzt bearbeitet: 6. März 2017
    sronny, 6. März 2017
    #5
  6. Beverly
    Beverly Erfahrener User
    Das Füllen der ComboBox kannst du wesentlich einfacher realisieren, da man direkt auf die formatierte Tabelle zugreifen kann:

    Code:
    Private Sub UserForm_Activate()
        Dim arrWerte
        arrWerte = wsArtikel.ListObjects(1).DataBodyRange.Columns(1)
        cmbArtikelnummer.List = arrWerte
    End Sub
    
    
    Bis später,
    Karin
     
    Beverly, 6. März 2017
    #6
  7. sronny Erfahrener User
    Gut, dass wusste ich so nicht - aber, der Nachteil ist dann aber auch, dass dann bspw. die Zeile Artikelnummer sowie die leere Zeile (A3) mit drin ist... So wählst du nur die Zeilen, welche du auch benötigst aus. Oder sehe ich das falsch?
     
    sronny, 6. März 2017
    #7
  8. (VBA) UserForm codieren, brauche dringend Hilfe!

    Ich danke euch allen für die Hilfe!!!
    Ihr habt mir sehr geholfen!
    Grüße
     
    Vital_26, 6. März 2017
    #8
  9. Beverly
    Beverly Erfahrener User
    Also bei mir ist die Überschrifftenzeile nicht mit enthalten - kann auch gar nicht, da sich mit DataBodyRange ausschließlich auf die formatierte Tabelle ohne Überschriftenzeile bezogen wird.

    Was die Leerzelle betrifft:

    1. fragt es sich, weshalb man eine Leerzeile zu Beginn einer formatierten Tabelle benötigt...

    2. kann man auch dem Abhilfe schaffen, indem man die Leerzelle ausklammert:

    Code:
    Private Sub UserForm_Activate()
        Dim arrWerte
        Dim rngBereich As Range
        With wsArtikel.ListObjects(1)
            Set rngBereich = Range(.DataBodyRange.Columns(1).Cells(2), _
                .DataBodyRange.Columns(1).Cells(.DataBodyRange.Columns(1).Cells.Count))
            arrWerte = rngBereich
        End With
        cmbArtikelnummer.List = arrWerte
        Set rngBereich = Nothing
    End Sub
    
    
    Bis später,
    Katin
     
    Beverly, 6. März 2017
    #9
  10. sronny Erfahrener User
    Faszinierend. Wieder was gelernt...
     
    sronny, 6. März 2017
    #10
Thema:

(VBA) UserForm codieren, brauche dringend Hilfe!

Die Seite wird geladen...
  1. (VBA) UserForm codieren, brauche dringend Hilfe! - Similar Threads - VBA UserForm codieren

  2. UserForm zum bearbeiten von Tabellen und speichern

    in Microsoft Excel Hilfe
    UserForm zum bearbeiten von Tabellen und speichern: Guten Tag Ich habe leider ein Problem, das mich zur Verzweiflung bringt. Vielleicht findet hier jemand einen Lösung für mein Problem. Ich bekommen leider einen Laufzeitfehler '1004'. Zur...
  3. VBA Code Tabellenblatt kopieren und UserForm

    in Microsoft Excel Hilfe
    VBA Code Tabellenblatt kopieren und UserForm: Hallo, ich hoffe mir kann jemand helfen. Schon mal vielen Dank für die Unterstützung. Folgende Thematik: In dem Blatt 1 ist ein ComandButton. Mit Klick soll über VBA folgendes abgefragt...
  4. unterschiedliche Anzahl Spalten kopieren VBA

    in Microsoft Excel Hilfe
    unterschiedliche Anzahl Spalten kopieren VBA: Hallo, ich weiß nicht weiter. Ich möchte das kopieren von Spalten automatisieren, dabei ist mein Problem, dass die Anzahl unterschiedlich ist. Ich habe ein Tabellenblatt "alle", da sind meine...
  5. VBA Hilfe Abfrage ob UserForm vom anderen User geöffnet ist

    in Microsoft Excel Hilfe
    VBA Hilfe Abfrage ob UserForm vom anderen User geöffnet ist: Hallo zusammen, ich und Kollegen nutzen ein Excel Arbeitsblatt mit mehreren Userforms. Zur Zeit ist es möglich, dass alle gleichzeitig die Userform öffnen. Wir möchten ein Makro schreiben, das...
  6. Zentrales Modul zum Befüllen mehrerer Userforms

    in Microsoft Excel Hilfe
    Zentrales Modul zum Befüllen mehrerer Userforms: Hallo zusammen, ich habe folgendes Problem: Ich habe eine Excel Datei mit mehreren UserForms. In diesen möchte ich einige Felder vorbelegen. Derzeit mache ich das im Code jeder UserForm immer...
  7. VBA Formular rechnet nicht

    in Microsoft Excel Hilfe
    VBA Formular rechnet nicht: Hallo zusammen, ich habe ein Problem mit der angehängten Datei. Diese besteht aus: Der Tabelle1 in welcher sich ein CommandButton befindet, der nichts weiter tut, als die UserForm zu öffnen....
  8. VBA: Variable Anzahl Zeilen mit Suchkriterien finden und kopieren

    in Microsoft Excel Hilfe
    VBA: Variable Anzahl Zeilen mit Suchkriterien finden und kopieren: Hallo zusammen, ich konnte bislang nur bruchstückhafte Ansätze zu meinem Problem finden, jedoch keinen um mehrere Kriterien zu erfassen und anschließend zu ordnen, daher brauche ich (mal wieder)...
  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