Hallo,
ich bin in VBA leider überhaupt nicht bewandert.
Ich möchte wissen ob im aktuellen Tabellenwort ein bestimmtes Wort vorkommt, wenn ja, soll eine Textbox darauf hinweisen
Hallo,
ich bin in VBA leider überhaupt nicht bewandert.
Ich möchte wissen ob im aktuellen Tabellenwort ein bestimmtes Wort vorkommt, wenn ja, soll eine Textbox darauf hinweisen
Hallo Werner,
bitte konkretisiere „im aktuellen Tabellenwort“. Meinst Du damit das Wort in der aktuellen aktiven Zelle?
Gruß
Michael
Hallo,
sollte heißen Tabellenblatt
Gruß
Werner
Hallo,
sollte heißen Tabellenblatt
Gruß
Werner
Hallo Werner,
das macht die Sache ein wenig klarer. Noch eine Frage:
Woher kommt das Wort, das gesucht werden soll? Willst Du das über eine Maske eingeben?
Gruß
Michael
Hallo,
nein, das bleibt stets gleich, z. B. „Dokument“
Gruß
Werner
Was für eine Textbox? soll sich öffnen.
Hallo,
nein, das bleibt stets gleich, z. B. „Dokument“
Gruß
Werner
Hallo Werner,
hier der Code:
Sub Suchen()
Dim aBegriff As String
Dim rFind As Range
aBegriff = „Dokument“
Set rFind = Cells.Find(What:=aBegriff, After:=Cells(1, 1), LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
If Not rFind Is Nothing Then
MsgBox "Suchbegriff " & aBegriff & " gefunden in Zelle: " & rFind.Address
End If
End Sub
Du mußt nur den Wert für aBegriff entsprechend Deinem Suchbegriff ändern
Gruß
Michael
Hallo,
das ist eine sehr unklare Aufgabenstellung (was ist mit Wort im Tabellenwort gemeint?)! Normalerweise sucht man Text in einer Tabelle mit der Suchfunktion (im Menu unter Bearbeiten), hier kann man steuern, in welchem Bereich man suchen will etc. Aber das ist wohl nicht gemeint? Suchen mit VBA ist relativ einfach, aber ein bisschen Kenntnisse braucht man schon. Also:
Man kann in einem Tabellenblatt jede Zelle mit Sheets(…).Cells(row,col)[.Value] in einer Schleife über row und col abfragen und somit mit dem Vorgabewert vergleichen und bei Übereinstimmung Aktionen (Einfärben, MsgBox, …) veranlassen. Aber Vorsicht: hier muss man natürlich selbst auf Groß-/Kleinschreibung und Teilstrings achten. Und sich vor allem überlegen, wann und wie die Suchfunktion gestartet werden soll. Also erst mal klar werden über die Aufgabenstellung.
Viel Erfolg
Hallo,
sorry, wenn ich mich unpräzise ausgedrückt habe. Also
Ich habe eine Excel Tabelle. Im ersten Datenblatt (Tabelle1) stehen Datensätze. Nun möchte ich per VBA überprüfen können, ob im Feld „Strasse“ (Spalte 2) ein bestimmtes Wort z.B. „Dokument“ beinhaltet ist. Dieses Wort ändert sich nicht.
Wenn nein, soll gar nichts geschehen,
wenn ja, soll
Gruß
Werner
Also, wie bereits beschrieben: eine Suchschleife über die Quelltabelle codieren und bei einem Treffer die Ergebnisse in der anderen Tabelle ablegen. Dazu ein paar Tipps:
Hallo Werner,
das geht bestimmt. Jedoch verstehe ich nicht was das Tabellenwort ist? Soll zur Meldung ein Fenster aufgehen, oder reicht eine farbliche Markierung? Ist es immer das selbe Wort? Wie ist die Tabelle aufgebaut?
Wenn Du dir vba im Grundsatz ansehen willst versuch mal den Makrorekorder. Einschalten und dann die Suchen Funktion in Excel benutzen. Danach den Rekorder beenden und danach den Code im Visual-Editor ansehen.
Gruß
Thomas
Hallo Thomas,
die Tabelle hat mehrere Felder (Name, Strasse, PLZ…). Das gesuchte Wort bleibt stets gleich, muß also nicht abgefragtwerden, sonders kann im code integriert sein.
Wenn das Wort gefunden wurde, soll eine Messagebox aufgehen mit einem Hinweis, daß das Wort in einem Datensatz enthalten ist.
Das mit dem Markrorekorderhab ich schon versucht, aber eine reine Suche wird nicht aufgezeichnet, nur wenn ich suchen und ersetzen verwende, aber das will ich nicht.
Hallo,
ich hab´s mal versucht
Sub versuch()
Dim name_1 As String
Dim row_1 As Integer
Dim col_1 As Integer
name_1 = „tabelle1“
For row_1 = 1 To 50
For col_1 = 1 To 20
If Sheets(name_1).Cells(row_1, col_1) = Then MsgBox „der Suchbegriff wurde gefunden“
End If
Next col_1
Next row_1
row_1 = 1
Do While Sheets(name_1).Cells(row_1, 1) vbNullString
If Sheets(name_1).Cells(row_1, col_1) = Then
End If
row_1 = row_1 + 1
Loop
End Sub
komm aber leider nicht weiter. Wo liegt denn der Fehler?
Oje, da fehlt aber viel Verständnis für Programmierung! Sorry, aber vielleicht solltest Du es mal mit Beispielen aus der Hilfe versuchen. Trotzdem, aber bitte zum letzten Mal: