Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1720to1724
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

In tabellenblatt nach string suchen

In tabellenblatt nach string suchen
12.11.2019 12:52:37
xxFreestylexx
Hallo
würde gerne den String suchen und zur Zelle Springen
habe im ersten Blatt (Übersicht) eine Tabelle
in Spalte A steht der Zielsheet name in spalte B u C der suchname
Nun soll nach doppelklick der Blattname aus Zelle A
und der Suchstring aus B:C angesprungen werden jedoch bekome ich hier immer einen laufzeitfehler cariable oder with block nicht festgelegt
Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
Dim search As String
Dim aufnr, aufname As String
Dim blatt As String
Dim ws As Worksheet
Set ws = Sheets("übersicht")
blatt = ActiveCell.Value
aufnr = ActiveCell.Offset(0, 1).Value
aufname = ActiveCell.Offset(0, 2).Value
search = aufnr & " - " & aufname
Cells.find(What:=search, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Danke für die hilfe

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: In tabellenblatt nach string suchen
12.11.2019 12:59:14
Rudi
Hallo,
evtl noch
sheets(blatt).activate
vor cells.find
?
Gruß
Rudi
AW: In tabellenblatt nach string suchen
12.11.2019 13:05:22
xxFreestylexx
Habe ich schon versucht immer der selbe fehler..
91 Objektvariable oder with blockvariable nicht festgelegt,,,
dann wird nix gefunden.
12.11.2019 13:13:00
Rudi
Hallo,
set r=cells.find(what=search,.....)
if r is nothing then
msgbox "nix da"
else
r.activate
end if

AW: In tabellenblatt nach string suchen
12.11.2019 13:13:06
Piet
Hallo
probier es bitte mal so. Fehler möglichkeiten sollte man dabei berücksichtigen.
mfg Piet
Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
Dim search As String
Dim aufnr, aufname As String
Dim blatt As String
Dim ws As Worksheet
If ActiveSheet.Name  "übersicht" Then Exit Sub
If ActiveCell.Column  "A" Then MsgBox "Cursor steht nicht in Spalte A": Exit Sub
blatt = ActiveCell.Value
aufnr = ActiveCell.Offset(0, 1).Value
aufname = ActiveCell.Offset(0, 2).Value
search = aufnr & " - " & aufname
On Error GoTo Fehler1
Worksheets(blatt).Select
On Error GoTo Fehler2
Cells.Find(What:=search, After:=Cells(1, 1), LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
Exit Sub
Fehler1:  MsgBox "Das Blatt:  " & blatt & "  exisitiert nicht!": Exit Sub
Fehler2:  MsgBox "Suchname:  " & search & "  nicht gefunden!"
End Sub

Anzeige
AW: In tabellenblatt nach string suchen
12.11.2019 13:26:53
xxFreestylexx
Danke jetzt sehe ich zumindest mal was passiert..
habe das ganze jetzt vereinfacht u suche nur noch nach der nummer die in einer eigenen Zelle steht aver trotzdem msgbox nichts gefunden
Userbild
AW: In tabellenblatt nach string suchen
12.11.2019 13:42:35
Piet
Hllo
dein Suchlauf kann von der Logik her so nicht klappen! Du verbindest die Such Nr. mit "-" und einem Namen! Das kann nicht klappen. Probier bitte mal den überarbeiteten Code. Der sucht nach allen drei Begriffen. Damit solltest du was finden können ....
mfg Piet
Sub Worksheet_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
Dim aufnr, aufname As String
Dim blatt As String
Dim ws As Worksheet
If ActiveSheet.Name  "übersicht" Then Exit Sub
If ActiveCell.Column  1 Then MsgBox "Cursor steht nicht in Spalte A": Exit Sub
blatt = ActiveCell.Value
aufnr = ActiveCell.Offset(0, 1).Value
aufname = ActiveCell.Offset(0, 2).Value
search = aufnr & " - " & aufname
On Error GoTo Fehler1
Worksheets(blatt).Select
On Error Resume Next
Cells.Find(What:=search, After:=Cells(1, 1), LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
If Err = 0 Then Exit Sub Else Err = 0
Cells.Find(What:=aufnr, After:=Cells(1, 1), LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
If Err = 0 Then Exit Sub Else Err = 0
Cells.Find(What:=aufname, After:=Cells(1, 1), LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
If Err = 0 Then Exit Sub Else GoTo Fehler2
Exit Sub
Fehler1:  MsgBox "Das Blatt:  " & blatt & "  exisitiert nicht!": Exit Sub
Fehler2:  MsgBox "Suchname:  " & search & "  nicht gefunden!"
End Sub

Anzeige
AW: In tabellenblatt nach string suchen
12.11.2019 14:00:27
xxFreestylexx
Hallo danke für deine Hilfe habe wohl daran gedaht nur nach der nr zu suchen aber es wird nichts gefunden.. Zur info die Zahen stehen im Zielblatt in spalte D habe ich aber auch schon abgeändert u es wird trotzdem nichts gefunden :(
AW: In tabellenblatt nach string suchen
12.11.2019 16:26:26
Werner
Hallo,
mach mal in deinen Blättern, in denen du suchst, die ganzen Zellverbünde raus.
Die gleiche Optik erhälst du, wenn du dann die entsprechende Zellen auwählst, z.B. D19 und E19, dann Zellen formatieren - Ausrichtung - Horizontal - Über Auswahl zentrieren.
Dann funktioniert auch die Suche.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 And Target.Row > 2 Then
Cancel = True
With Worksheets(Target.Value)
Set raFund = .Columns("D").Find(what:=Target.Offset(, 1).Value _
& " - " & Target.Offset(, 2).Value, LookIn:=xlValues, lookat:=xlWhole)
If Not raFund Is Nothing Then
.Activate
raFund.Select
Else
MsgBox "Suchbegriff nicht vorhanden."
End If
End With
End If
End Sub
Gruß Werner
Anzeige
AW: In tabellenblatt nach string suchen
12.11.2019 17:16:33
Piet
Hallo
ich bin erstaunt das der Code von Werner auf meinem PC funktioniert. Obwohl ich bei mir zwei verbundene Zellen aufgelöst hatte lief bei mir die Find Methode in einen Laufzeitfehler. Dafür habe ich meinen Code noch einmal erweitert um auch nur die Auftrags Nummer suchen zu können.
Nordfrost kommt zweimal vor, in der Übersicht steht "Nordfrost 2" im Auftragsblatt "Nordfrost II". Das kann mein geaenderter Suchlauf jetzt aufspüren.
mfg Piet

Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim aufnr, aufname As String
Dim SuName, blatt As String
Dim AC As Range, lz1 As Long
If Target.Count > 1 Then Exit Sub
If Target.Value = Empty Then Exit Sub
blatt = Cells(Target.Row, 1).Value
aufnr = Cells(Target.Row, 2).Value
aufname = Cells(Target.Row, 3).Value
SuName = aufnr & " - " & aufname
If aufnr & aufname = Empty Then
MsgBox "Auftrags Nr. und Name sind leer!": Exit Sub
ElseIf aufnr = "" Or aufname = "" Then
MsgBox "Auftrags Nr. oder Name fehlt!": Exit Sub
End If
On Error GoTo Fehler1
With Worksheets(blatt)
On Error GoTo Fehler2
lz1 = .Cells(Rows.Count, 4).End(xlUp).Row
For Each AC In .Range("D1:D" & lz1)
If InStr(AC, SuName) Then
.Activate  'Zielblatt aktivieren
'mit -2 Leerzeilen einstellen
ActiveWindow.ScrollRow = AC.Row - 2
AC.Select: Exit Sub
End If
Next AC
For Each AC In .Range("D1:D" & lz1)
If InStr(AC, aufnr) Then
.Activate  'Zielblatt aktivieren
'mit -2 Leerzeilen einstellen
ActiveWindow.ScrollRow = AC.Row - 2
MsgBox "Bitte Auftrags Name prüfen"
AC.Select: Exit Sub
End If
Next AC
MsgBox "Such-Nummer:  " & aufnr & "  nicht gefunden!"
End With
Exit Sub
Fehler1:  MsgBox "Das Blatt:  " & blatt & "  exisitiert nicht!": Exit Sub
Fehler2:  MsgBox "unerwarteter Fehler im Zielblatt" & vbLf & Error()
End Sub

Anzeige
AW: In tabellenblatt nach string suchen
12.11.2019 23:11:29
xxFreestylexx
Hallo entschuldige die späte rückmeldung .. erst mal danke für eure Zeit hätte es ohne euch nie hin bekommen :)
Der Code von Werner hat auf anhieb funktioniert
Hab jetzt neu in einer Firma als IT Typ angefangen aber die haben nur Excel VBA Probleme .. bringt micht teilweise echt zum verzweifeln..
Dies war eins der kleinen "Projekte" jetzt kann ich etwas ruhiger schlafen
Danke euch !!
Gerne u. Danke für die Rückmeldung. o.w.T.
13.11.2019 08:50:10
Werner
AW: In tabellenblatt nach string suchen
12.11.2019 16:47:30
Piet
Hallo
ich habe einen funktionierenden Code für das Blatt "Übersicht". Da rein kopieren, der funktioniert wenigstens. Höfliche Bitte - mich bitte NICHT fragen warum die Finde Methode versagt!!?
Nach 20 Jahren programmieren in Excel gibt es immer noch unerklaerliche Laufzeitfehler die ich technisch NICHT erklaeren kann. Funktioniert ein Suchlauf mit Find nicht, nehme ich die alte For Next Variante. Und siehe da, damit klappt es. Eine Antwort auf das Find Problem habe ich nicht!!
mfg Piet
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim aufnr, aufname As String
Dim SuName, blatt As String
Dim AC As Range, lz1 As Long
If Target.Count > 1 Then Exit Sub
If Target.Value = Empty Then Exit Sub
blatt = Cells(Target.Row, 1).Value
aufnr = Cells(Target.Row, 2).Value
aufname = Cells(Target.Row, 3).Value
SuName = aufnr & " - " & aufname
If aufnr & aufname = Empty Then
MsgBox "Auftrags Nr. und Name sind leer!": Exit Sub
ElseIf aufnr = "" Or aufname = "" Then
MsgBox "Auftrags Nr. oder Name fehlt!": Exit Sub
End If
On Error GoTo Fehler1
With Worksheets(blatt)
On Error GoTo Fehler2
lz1 = .Cells(Rows.Count, 4).End(xlUp).Row
For Each AC In .Range("D1:D" & lz1)
If InStr(AC, SuName) Then
.Activate  'Zielblatt aktivieren
'mit -2 Leerzeilen einstellen
ActiveWindow.ScrollRow = AC.Row - 2
AC.Select: Exit Sub
End If
Next AC
MsgBox "Suchname:  " & SuName & "  nicht gefunden!"
End With
Exit Sub
Fehler1:  MsgBox "Das Blatt:  " & blatt & "  exisitiert nicht!": Exit Sub
Fehler2:  MsgBox "unerwarteter Fehler im Zielblatt" & vbLf & Error()
End Sub

Anzeige
AW: In tabellenblatt nach string suchen
12.11.2019 15:38:24
Piet
Hallo
hast du meine Nachricht mit Lösung um 13:42:35 nicht gelesen? Der Suchlauf nach einer Nummer kann nicht klappen wenn du mit "-" Zeichen einen Namen anhaengst. Hast du mein 2. Makro mal getestet?
mfg Piet
AW: In tabellenblatt nach string suchen
12.11.2019 15:41:27
xxFreestylexx
Ja wie gesagt habs so abgeänder das er nur nach nummer sucht ohne - aber funktioniert trotzdem nicht deshalb hab ich dir mein excel auch angehängt.. bin völlig überfragt egal was ich versuche .. geht nicht.. Die Zahlen (aufnr) stehen jetzt auch separat in zelle D

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige