Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Fehler, bitte Hajo nochmal ? | Herbers Excel-Forum


Betrifft: Fehler, bitte Hajo nochmal ? von: kurt ph
Geschrieben am: 22.07.2012 14:48:31

Hallo Hajo,
anbei nochmal die Testdatei.
Du hattest gestern geholfen, wenn ich aber die Zeile einsetze,
wird die TB1 nichts angezeigt.
Würde mich freuen wenn Du das Makro nochmal ansehen kannst,
danke im Voraus.
https://www.herber.de/bbs/user/81122.xls
mfg Kurt ph

  

Betrifft: AW: Suchen von: Hajo_Zi
Geschrieben am: 22.07.2012 15:04:05

Hallo Kurt,

was meinst Du? wenn ich xlWhole einsetze und "B 222" eintrage werden nur diese angezeigt.

GrußformelHomepage


  

Betrifft: AW: Suchen von: kurt ph
Geschrieben am: 22.07.2012 15:08:40

Hallo Hajo,
wenn ich in der TB1 z.b. b eintrage soll aus der Spalte B ausgelesen
alles mit B kommen.
Wenn ich in der TB 3 z.b. b eingebe sollen nur die 5x mit B kommen und nicht
die mit bt.

mfg kurt ph


  

Betrifft: AW: Suchen von: Hajo_Zi
Geschrieben am: 22.07.2012 15:19:54

Hallo Kurt,

das verstehe ich nicht.
Gestern sollte bei Eintrag "B" nur das kommen das in der Spalte den Eintrag "B" hat und nicht "B" mit noch was.

Gruß Hajo


  

Betrifft: AW: Suchen, ja aber von: kurt ph
Geschrieben am: 22.07.2012 15:28:22

Hallo Hajo,
die Werte in den Spalten sind doch unterschiedlich.
Nach dem 1. Buchstaben in der Spalte "B" ist immer ein Leerzeichen.
Nach dem 1. Buchstaben in der Spalte "D" ist immer eine kmbination von
2 Buchstaben, also bt oder später ct oder cc, da soll sollte immer nur nach
dem 1. Buchstaben ebenfalls gesucht werden.
mfg kurt ph


  

Betrifft: AW: Suchen, ja aber von: Hajo_Zi
Geschrieben am: 22.07.2012 15:30:53

Hallo Kurt,

Du kennst Deine Datein aus dem ff. Für mich ist die Neuland.
Ich verstehe nur Bahnhof.

Gruß Hajo


  

Betrifft: Habe noch vergessen von: kurt ph
Geschrieben am: 22.07.2012 15:31:41

Hallo Hajo,
in der TB 2 sollte immer nach den bis zu 5 Stellen (Spalte "C" ) gesucht werden,
da werde ich später die Orginalzahlen reinsetzen.
mfg kurt ph


  

Betrifft: AW: Habe noch vergessen von: Hajo_Zi
Geschrieben am: 22.07.2012 16:14:01

Hallo Kurt,

Du möchtest Deine Datei also nicht erklären. Ich bin dann raus.

Private Sub CommandButton1_Click()
    Dim WkSh          As Worksheet
    Dim rZelle        As Range
    Dim sFundst       As String
    Dim sSuchbegriff  As String
    Dim iSpalte       As Integer
    Dim iLiBo         As Integer
    ListBox1.Clear
    TextBox1.Value = Trim$(TextBox1.Value)
    TextBox2.Value = Trim$(TextBox2.Value)
    TextBox3.Value = Trim$(TextBox3.Value)
    If TextBox1.Value = "" And _
        TextBox2.Value = "" And _
            TextBox3.Value = "" Then
        MsgBox "Ohne Suchbegiff wird die Suche schwierig werden!" & Chr(10) & _
            "Bitte geben Sie wenigstens einen Suchbegriff ein - danke.", _
            48, "   Hinweis für " & Application.UserName
        TextBox1.SetFocus
        Exit Sub
    ElseIf TextBox1.Value <> "" Then
        sSuchbegriff = TextBox1.Value
        iSpalte = 2
    ElseIf TextBox2.Value <> "" Then
        sSuchbegriff = TextBox2.Value
        iSpalte = 3
    ElseIf TextBox3.Value <> "" Then
        sSuchbegriff = TextBox3.Value
        iSpalte = 4
    End If
    Set WkSh = ThisWorkbook.Worksheets("Aufwand")
    With WkSh.Columns(iSpalte)
        Set rZelle = .Find(What:=sSuchbegriff, LookAt:=xlWhole, LookIn:=xlValues, _
            After:=.Cells(.Cells.Count))
        '--- hiermit wird nur nach dem 1. Buchstaben gesucht ---
        'Set rZelle = .Find(What:=sSuchbegriff, LookAt:=xlWhole, LookIn:=xlValues, _
            After:=.Cells(.Cells.Count))
        '--------------------------------------------------------------
        If Not rZelle Is Nothing Then
            sFundst = rZelle.Address
            Do
                ' Vergleich ob in gefunden Zeile TextBox2 in Spalte C
                If TextBox2 <> "" Then
                    If Cells(rZelle.Row, 3) = TextBox2 Then
                        If TextBox3 <> "" Then
                            If Cells(rZelle.Row, 3) = TextBox2 Then
                                ' Spalte A - C in Listbox
                            End If
                        Else
                            ' Spalte A - C in Listbox
                        End If
                        ' Vergleich ob in gefunden Zeile TextBox3 in Spalte D
                    End If
                Else
                    If TextBox3 <> "" Then
                        If Cells(rZelle.Row, 4) = TextBox3 Then
                            ' Spalte A - C in Listbox
                        End If
                    Else
                        ' Spalte A - C in Listbox
                    End If
                End If
                ' nächste Suche                Set rZelle = .FindNext(rZelle)
            Loop While Not rZelle Is Nothing And rZelle.Address <> sFundst
        Else
            MsgBox "Zu den Begriffen  """ & sSuchbegriff & " / " & TextBox1.Value & _
                """  wurde nichts gefunden.", _
                48, "   Hinweis für " & Application.UserName
        End If
    End With
    Set rZelle = Nothing
Gruß Hajo


  

Betrifft: Versteh ich nicht, habe doch von: kurt ph
Geschrieben am: 22.07.2012 16:21:43

Hallo Hajo,
ich habe doch erklärt und das Muster geschickt.
Wenn ich in der TB1 einen Buchstaben eingebe, soll in der Spalte "B"
danach gesucht werden.
Wenn in der TB2 eine Zahl z.b. (für später) 203 eingebe, soll in der
Spalte "C" nach 203 gesucht werden.
Wenn ich in der TB3 einen Buchstaben eingebe, soll NUR nach dem
1. Buchstaben gesucht werden und zwar in der Spalte "D".

mfg kurt ph


  

Betrifft: AW: Versteh ich nicht, habe doch von: Matze,Matthias
Geschrieben am: 22.07.2012 16:41:02

Hallo Kurt,
deine Aufgabenstellung und schon ein wenig verwirrend.
Alles was du "auslesen" willst, kann mit der SpalteB passieren,dort sind doch "Alle Daten"

A 2345 das kann man alles mit Formeln auslesen, warum so eine komplexe Geschichte mit VBA?
Funktionen wie Links, Recht, Länge, Glätten sind dafür sehr gut geeignet.

Was ich überhaupt nicht verstehe ist Spalte C ??? was sagt die denn aus?
Willst du in Spalte D nur den ersten Buckstaben? warum steht da eigent BT drinn? woher kommt BT?

Wie du siehst ist das sehr verwirrend....also korrekt Anweisung was wann wie und wo passieren soll.
Gruß Matze


  

Betrifft: Ja aber es... von: kurt ph
Geschrieben am: 22.07.2012 18:41:58

Hallo Hajo und Matze,
natürlich etwas verwirrrrrend aber habe es gerade auf der Tabelle mit Filter
probiert, kann aber nicht die gefilterten Daten in die Listbox einlesen.
mfg kurt ph


  

Betrifft: Danke Hajo und Matze -) von: kurt ph
Geschrieben am: 22.07.2012 19:35:48

Hallo zusammen,
habe es so gelöst:
ElseIf TextBox1.Value <> "" Then
sSuchbegriff = TextBox1.Value & "*"
iSpalte = 2
mfg kurt ph