Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1884to1888
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

Excel Suche nach Wörtern mit *

Excel Suche nach Wörtern mit *
01.06.2022 15:15:57
Sebastian
Guten Tag zusammen,
ich habe ein Problem bei einer VBA Programmierung und weiß nicht mehr weiter. Nach dem ich jetzt mehrere Ansätze probiert habe gefällt mir folgender erstmal am Besten. Jedoch soll das Skript nicht nach dem ganzen Wort sondern nach einem Teil im Wort suchen.
Gedacht ist das das Skript alle Einträge in Spalte A durchgeht und wenn das Teilwort richtig ist, dann bitte in der gleichen Zeile in Spalte B eine 1 reinschreiben.
Sofern das Wort bei mir vollständig stimmt funktioniert es, aber leider nicht wenn der Suchbegriff nur ein Teil des Wortes ist. Suche nach mehrere Suchbegriffe habe ich auch noch nicht hinbekommen und würde mich freuen wenn mir da jemand auf die Sprünge helfen kann.
Gesucht soll nach
6GK7
6ES7
6SL3
6AV6
6EP1
werden und die Zeilen in Spalte wo gesucht werden sehen in etwa so aus.
"""RACK 0, """"6ES7 390-1?0-0AA0"""", """"UR"""""" 1 "
"BEGIN "
"""ASSET_ID """"EB2EB025326643BC8FAC623D9"" 465 ""A12D"""""" "
"""OBJECT_REMOVEABLE """"1"""""" "
"""POS_X """"30"""""" "
"""POS_Y """"31"""""" "
"""SIZE_X """"601"""""" "
"""SIZE_Y """"336"""""" "
"""CAX_APP_ID """""""""" "
"""OBJECT_COPYABLE """"1"""""" "
"""CREATOR """""""""" "
"""COMMENT """""""""" "
"END "
" "
"""RACK 0, SLOT 2, """"6ES7 315-2FJ14-0AB0"""""" """"""V"" ""3.2"""", """"CPU 315F-2 PN/DP"""""" 1 "
"BEGIN "
mein Skript zum suchen sieht bisher so aus.

Option Explicit
Public Sub Zeilen_makieren()
Dim r As Long, Suchbegriff, Anzahl As Long
Dim b As Long
Dim Suchbegriff2 As Long
Dim Suchbegriff3 As Long
Dim Suchbegriff4 As Long
Dim Suchbegriff5 As Long
'suchen soll mit 6ES7, 6GK7 usw.
With ThisWorkbook.Sheets("schrottförderer_s6_s7")
Suchbegriff = "6ES7"
For r = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If .Cells(r, 1) = Suchbegriff Then
.Cells(r, 2) = "1"
End If
Next
End With
End Sub
Des weiteren würde mich interessiere ob man auch mit absoluter Blattbezeichnung arbeiten kann. Hier heißt das Blatt Schrottförderer_s6_s7 ist aber eigentlich Tabelle1.
Ich würde es eigentlich egal wie der name ist immer auf die Absolute Bezeichnung Tabelle 1 verweisen.
Vielen Dank schonmal im Vorraus für alle die sich Mühe machen um darüber nachzudenken.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excel Suche nach Wörtern mit *
01.06.2022 15:35:04
UweD
Hallo
so?

Public Sub Zeilen_makieren()
Dim r As Long, Arr, i As Integer
Arr = Array("6ES7", "6GK7", "6SL3", "6AV6", "6EP1")
With ThisWorkbook.Sheets("schrottförderer_s6_s7")
For r = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For i = LBound(Arr) To UBound(Arr)
If InStr(.Cells(r, 1), Arr(i)) > 0 Then
.Cells(r, 2) = "1"
Exit For
End If
Next i
Next r
End With
End Sub
LG UweD
AW: Excel Suche nach Wörtern mit *
01.06.2022 16:45:56
Sebastian
Vielen Dank euch beiden. Das Skript funktioniert einwandfrei. Wenn ich in dem Skript ein zweites Skript aufrufen möchte dann mache ich das sicherlich mit
Zeilen_kopieren() vor dem end sub oder muss ich da noch was beachten? Die andere Funktion mit der absoluten Bezeichnung des Worksheets versuche dann morgen mal in Ruhe auf Arbeit. Melde mich dann nochmal ob ich das hinbekommen habe.

Zeilen_kopieren()
End sub
Mit freundlichen Grüßen
Sebastian
Anzeige
AW: Excel Suche nach Wörtern mit *
01.06.2022 15:46:17
Pierre
Hallo Sebastian,
zu deiner Zusatzfrage noch:
Entweder, wenn die Position immer gleich bleibt, an der das Blatt ist, geht:

ThisWorkbook.Sheets(1).(...)
oder, weil man das oft nicht gewährleisten kann, wirklich mit dem "Codenamen", dann:

Tabelle1.(...)
Noch einfacher, wenn das Makro schon im Modul des Blattes ist, reicht sogar

Me.(...)
Gruß Pierre
PS: Ach ja: Bei englischsprachigen Excel musst du Sheet1 schreiben ;-)
AW: Excel Suche nach Wörtern mit *
02.06.2022 12:11:55
Sebastian
Als kleine Rückmeldung nochmal.
Eine Schleife aufrufen macht man mit

Call Zeilen_makieren
wobei Zeilen_makieren die Funktion ist.
Die Zeile

With ThisWorkbook.Sheets("schrottförderer_s6_s7")
kann man mit

With ThisWorkbook.Sheets(1)
ersetzen wenn das immer im ersten Tabellenblatt laufen soll.
Vielen Dank euch ihr habt mir sehr geholfen.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige