Brauche Hilfe bei einer Suchfunktion

Danke für deine Hilfe die Suchfunktion ist super geworden.

kennst du eine funktion womit ich die ausgabe auf eine extra tabelle übergeben kann, so das sich beim klick auf den button eine neue tabelle öffnet und die suchergebnisse ausgibt.
Reicht wenn du mir die funktion nur nennst.

Ich sage danke gracias thx und tschöööö
 
ich krieg das doch nicht hin nirraven :rolleyes:
kannst du mir sagen wo ich das hinsetzen muss. kennst den code ja noch oder

wie du sehen kannst habe ich das mit like und ucase so hinbekommen das er groß und kleinschreibung nicht beachtet und jeden buchstaben halt einzeln sucht.
Das mit der neuen Tabelle geht halt net
Code:
Private Sub CommandButton1_Click()
Dim Name
Dim i
Dim z
Dim x As Integer
Name = TextBox1
Worksheets("Kunden").Activate
i = 7
z = 1
Do While Not Worksheets("Kunden").Cells(i, 1) = ""
If UCase(Worksheets("Kunden").Cells(i, 1)) Like "*" + UCase(Name) + "*" Then
    For x = 1 To 22
    Cells(z, x) = Worksheets("Kunden").Cells(i, x)
    Next x
    z = z + 1
    End If
i = i + 1
Loop
Worksheets("Start").Activate
End Sub
 
ozak hat gesagt.:
ich krieg das doch nicht hin nirraven :rolleyes:
kannst du mir sagen wo ich das hinsetzen muss. kennst den code ja noch oder

wie du sehen kannst habe ich das mit like und ucase so hinbekommen das er groß und kleinschreibung nicht beachtet und jeden buchstaben halt einzeln sucht.
Das mit der neuen Tabelle geht halt net
Code:
Private Sub CommandButton1_Click()
Dim Name
Dim i
Dim z
Dim x As Integer
Name = TextBox1
Worksheets("Kunden").Activate
i = 7
z = 1
Do While Not Worksheets("Kunden").Cells(i, 1) = ""
If UCase(Worksheets("Kunden").Cells(i, 1)) Like "*" + UCase(Name) + "*" Then
    For x = 1 To 22
    'Hier gehört das erstellen der Tabelle rein
    Worksheets("Name der Neuen Tabelle").Cells(z, x) = Worksheets("Kunden").Cells(i, x)
    Next x
    z = z + 1
    End If
i = i + 1
Loop
Worksheets("Name der Neuen Tabelle").Activate
End Sub

Und beim Schließen der Suchergebnis Tabelle würd ich se dann wieder Löschen, damit du se für eine neue suche neu anlegen kannst.
 
Es kommt eine Fehlermeldung:

Laufzeitfehler 9
Index außerhalb des gültigen Bereichs

Habe das so eingefügt

Code:
Private Sub CommandButton1_Click()
Dim Name
Dim i
Dim z
Dim x As Integer
Name = TextBox1
Worksheets("Kunden").Activate
i = 7
z = 1
Do While Not Worksheets("Kunden").Cells(i, 1) = ""
If UCase(Worksheets("Kunden").Cells(i, 1)) Like "*" + UCase(Name) + "*" Then
    For x = 1 To 22
    Worksheets("Suchergebnis").Cells(z, x) = Worksheets("Kunden").Cells(i, x)
    Next x
    z = z + 1
End If
i = i + 1
Loop
Worksheets("Suchergebnis").Activate
End Sub
 
Und wo steht dein sheets.add in dem code?

Außerdem musst du, um auf die Tabelle "Suchergebnis" zuzugreifen, die neu angelegte Tabelle auch erst "Suchergebnis" nennen
 
Hab ich doch habs nur falsch reinkopiert sorry.
Die Fehlermeldung lautet:
Anwendungs- und objektdefinierter Fehler

Hier nochmal
Code:
Private Sub CommandButton1_Click()
Dim Name
Dim i
Dim z
Dim x As Integer
Name = TextBox1
Worksheets("Kunden").Activate
i = 7
z = 1
Do While Not Worksheets("Kunden").Cells(i, 1) = ""
If UCase(Worksheets("Kunden").Cells(i, 1)) Like "*" + UCase(Name) + "*" Then
    For x = 1 To 22
    Sheets.Add ([Before])
    Worksheets("Suchergebnis").Cells(z, x) = Worksheets("Kunden").Cells(i, x)
    Next x
    z = z + 1
End If
i = i + 1
Loop
[COLOR="Red"]Worksheets("Suchergebnis").Activate
End Sub
 
Code:
Sheets.Add ([Before])
Worksheets("Suchergebnis").Cells(z, x) = Worksheets("Kunden").Cells(i, x)

Bei sheets.add bekommst du einen Fehler, weil er automatisch davor einfügt
Will sagen, da der Code aus der ersten Tabelle ausgeführt wird, kannst du das before weg lassen.

Nebenbei gesagt wäre die Benutzung von before
Code:
Sheets.Add Before
so korrekt

So, zur Zeile 2
Welche Tabelle ist Suchergebnis? die Tabelle die erzeugt wird heißt "TabelleXY" sofern du diese nicht umbenennst, kannst du auch nicht in eine Tabelle "Suchergebnis" einfügen.
 
Die Tabelle Suchergebnis ist die, die erzeugt werden soll.
Habe gedacht das diese direkt so bennant wird wenn cih das so eingliedere in den code.

wenn ich alles wieder umbennene in Kunden anstatt Suchergebnis dann erzeugt der mir 20 tabellen oder so.
 
Also, erstmal, mit before hab ich einen Fehler gemacht :)

Code:
Private Sub CommandButton1_Click()
Dim Name
Dim i
Dim z
Dim x As Integer
Name = TextBox1
Worksheets("Kunden").Activate
i = 7
z = 1
Do While Not Worksheets("Kunden").Cells(i, 1) = ""
If UCase(Worksheets("Kunden").Cells(i, 1)) Like "*" + UCase(Name) + "*" Then
    For x = 1 To 22
    Sheets.Add Before:=Sheets("test")
    Sheets(1).Name = "Suchergebnis"
    Worksheets("Suchergebnis").Cells(z, x) = Worksheets("Kunden").Cells(i, x)
    Next x
    z = z + 1
End If
i = i + 1
Loop
Worksheets("Suchergebnis").Activate
End Sub
Sub test()

End Sub

So wird die Tabelle vor der aktiven eingefügt(Sollte ja "Start" sein, also Tabelle 1, wenn nicht, bitte index anpassen), dann umbenannt in "Suchergebnis".

Code:
Private Sub Worksheet_Activate()
  Application.DisplayAlerts = False
  Sheets("Suchergebnis").Delete
  Application.DisplayAlerts = True
End Sub

Hier wird, wenn Start aktiviert wird(also auch in "Start" einfügen) "Suchergebnis" gelöscht, undzwar ohne Nachfrage.

Wenn Start nicht die erste Tabelle in der Liste ist, unbedingt die Indexe anpassen, sonst löscht er dir andere tabellen.
 

Neue Beiträge

Zurück