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.

Einfache Frage
#1
Hallo zusammen
Als Neuling hoffe ich hier Hilfe zu erhalten.
Ich bin gerade bei meinem ersten größeren Projekt und hänge jetzt fest.
Grob gesagt geht es darum aus einer Datenbank mit ca. 30.000 Sätzen einen Satz zu finden und den dann in ein Userform Formular zu kopieren.
Danach ausdrucken und in eine Liste eintragen.

Ich habe die Userform erstellt und hänge jetzt bei der Eingabe.
Ich habe ein Textfeld Kundennummer suchen (BSP Kundennummer ASD0002580) und möchte im ersten Schritt die Kundennummer in das Feld eingeben.
Das Feld soll dann den eingegebenen Wert haben.
Wie schreibe ich das in VBA?
Danach möchte ich über den Button suchen den zweiten Schritt einleiten


Im zweiten Schritt soll dieser Wert dann in dem Tabellenblatt mit den Kunden gesucht werden.
Aber zuerst den ersten Schritt.
Danke im vorraus!
Antworten Top
#2
Hallo

anbei ein Suchcode mit InputBox aus diesem Thread:  Textsuchfeld und dynamische Tabelle vom 17.1.2021
Den kannst du für deine Zwecke umbasteln. Man kann die gefunden Werte direkt in eine Tabelle schreiben.
Daa geht m.E. einfacher und schneller als eine UserForm zu programmieren.

mfg Gast 123

Code:
Option Explicit
Const DMax = 20     'max Anzahl der Datensaetze in Der Msgbox


'Suchen über MsgBox mit InputBox Eingabe

Sub Suchen()
    Dim ProNr As Variant
    Dim Projekt As String
    Dim SuchText As String, fmd, rw
    Dim rFind As Range, Adr1 As String
    Dim gesTxt As String, n As Integer
  
    SuchText = InputBox("Suchbegriff:")
    If SuchText = Empty Then Exit Sub
  
    On Error GoTo Fehler
    Set rFind = Columns("A:B").Find(What:=SuchText, After:=[a1], LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False)
    If rFind Is Nothing Then MsgBox "Suchbegriff nicht gefunden!": Exit Sub

    If Not rFind Is Nothing Then
       Adr1 = rFind.Address  '1. Addrese merken
       Do 'Text mit Zeilenumbrüche auflisten
          If LCase(Cells(rFind.Row, 3)) = "ja" Then
              n = n + 1   'gesamte Anzahl zählen
              rw = rFind.Row
              ProNr = Cells(rw, 2)
              Projekt = Cells(rw, 1)
              gesTxt = gesTxt & rw & ")  " & ProNr & "   " & Projekt & vbLf
          End If
          Set rFind = Cells.FindNext(rFind)
       Loop Until rFind.Address = Adr1
    End If

    'Fehlermeldung wenn Datensatz max. überschritten wird
    If n > DMax Then fmd = "** max. " & DMax & " sind angezeigt!"
    MsgBox n & "  gefundene Datensätze:     " & fmd & vbLf & gesTxt
Exit Sub
Fehler: MsgBox "unerwarteter Fehler im Suchlauf", vbInformation
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • VBA_Anfänger
Antworten Top


Gehe zu:


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