VBA Programm zum Suchen und Ausgeben der Fundorte in drei Spalten A, B und C?

Antwort

Um ein VBA-Programm zu erstellen, das in den Spalten A, B und C nach einem bestimmten Gegenstand sucht und die Ergebnisse in einer MsgBox ausgibt, kannst du den folgenden Code verwenden: ```vba Sub SucheGegenstand() Dim ws As Worksheet Dim suchbegriff As String Dim gefundenePositionen As String Dim letzteZeile As Long Dim i As Long ' Arbeitsblatt festlegen Set ws = ThisWorkbook.Sheets("Tabelle1") ' Ändere "Tabelle1" nach Bedarf ' Suchbegriff eingeben suchbegriff = InputBox("Bitte den Gegenstand eingeben, den Sie suchen möchten:") ' Letzte Zeile in Spalte A ermitteln letzteZeile = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' Durch die Zeilen iterieren und nach dem Suchbegriff suchen For i = 1 To letzteZeile If ws.Cells(i, 1).Value = suchbegriff Or _ ws.Cells(i, 2).Value = suchbegriff Or _ ws.Cells(i, 3).Value = suchbegriff Then gefundenePositionen = gefundenePositionen & "Gefunden in Zeile " & i & vbCrLf End If Next i ' Ergebnis ausgeben If gefundenePositionen = "" Then MsgBox "Der Gegenstand wurde nicht gefunden." Else MsgBox gefundenePositionen End If End Sub ``` ### Erklärung des Codes: 1. **Worksheet festlegen**: Das Arbeitsblatt wird festgelegt, in dem die Suche durchgeführt werden soll. 2. **Suchbegriff**: Der Benutzer wird aufgefordert, den gesuchten Gegenstand einzugeben. 3. **Letzte Zeile**: Die letzte Zeile in der Spalte A wird ermittelt, um die Schleife zu begrenzen. 4. **Schleife**: Der Code durchläuft jede Zeile und prüft, ob der Suchbegriff in einer der drei Spalten gefunden wird. 5. **Ergebnis**: Wenn der Gegenstand gefunden wird, wird die Zeilennummer in einer Variablen gespeichert und am Ende in einer MsgBox angezeigt. Du kannst diesen Code in das VBA-Editor-Fenster deiner Excel-Datei einfügen und das Makro ausführen, um die Suche durchzuführen.

Kategorie: Programmierung Tags: VBA Suchen MsgBox
KI fragen

Verwandte Fragen

Was ist falsch an folgendem Access VBA SQL-Statement: strSQL = "INSERT INTO tbl_Bestände_HZV (Datum, RLEx) IN " & strPfadExtern & "." & ZielTabelle & ...?

In deinem SQL-Statement gibt es mehrere Probleme: 1. **Syntaxfehler bei `IN`**: Das `IN`-Schlüsselwort wird in Access-SQL für das Einfügen in eine externe Tabelle verwendet, aber... [mehr]

Wie kann man per VBA-Makro beim Öffnen einer Datei das Kontextmenü der rechten Maustaste deaktivieren?

Um beim Öffnen einer Excel-Datei per VBA-Makro die Kontextmenüs der rechten Maustaste zu deaktivieren, kannst du folgenden Code im Modul "DieseArbeitsmappe" (engl. "ThisWorkbo... [mehr]

Ist der Code wert = Range("Ergebnisse[Gab Bauteil lang]").Value in VBA fehlerfrei?

Der Code `wert = Range("Ergebnisse[Gab Bauteil lang]").Value` ist in VBA **nicht fehlerfrei**, wenn du auf eine Excel-Tabelle mit strukturierten Verweisen (Tabellenreferenzen) zugreifen m&ou... [mehr]

Kann man Private Sub Workbook_SheetBeforeRightClick in Private Sub Workbook_Open integrieren?

Nein, das ist nicht möglich. In VBA (Visual Basic for Applications) sind `Workbook_Open` und `Workbook_SheetBeforeRightClick` zwei eigenständige Ereignisprozeduren (Event Handler), die jewei... [mehr]

Gibt es eine MsgBox, die nur OK erlaubt, ohne Abbruch-Option?

Ja, es gibt eine MessageBox, die nur eine „OK“-Schaltfläche anzeigt und keine „Abbrechen“-Option bietet. In vielen Programmiersprachen und Frameworks kannst du das Verhalt... [mehr]

Gibt es If Not (Bedingung) Then in VBA für Excel?

Ja, in VBA für Excel gibt es die Möglichkeit, eine Bedingung mit **If Not (Bedingung) Then** zu prüfen. Das Schlüsselwort **Not** kehrt die Bedingung um. Hier ein Beispiel: ```vba... [mehr]

Ist 'Range(Cells(a,10):Cells(b,10)).Copy' im VBA-Code korrekt?

Die Syntax `Range(Cells(a,10):Cells(b,10)).Copy` ist in VBA (Visual Basic for Applications) **nicht korrekt**. In VBA muss der Bereich innerhalb der `Range`-Funktion als String oder als zwei separate... [mehr]

Wie kann ich mit einem VBA-Makro die Zeilen 8 bis 10 ausblenden?

Um in Excel mit einem VBA-Makro die Zeilen 8 bis 10 auszublenden, kannst du folgenden Code verwenden: ```vba Rows("8:10").Hidden = True ``` So gehst du vor: 1. Drücke `ALT + F11`, um... [mehr]

Wie kann ich mit VBA den Bereich 'Test' in Blatt 1 kopieren und in Blatt 2 ab Zelle B18 einfügen?

Um in Excel mit VBA einen Bereich namens "test" aus Blatt 1 zu kopieren und in Blatt 2 ab Zelle B18 einzufügen, kannst du folgenden VBA-Code verwenden: ```vba Sub BereichKopieren()... [mehr]

Wie ruft makro1() in VBA makro2() mit dem Wert 5 auf?

So sieht das in VBA aus: ```vba Sub Makro1() Call Makro2(5) End Sub Sub Makro2(ByVal Wert As Integer) MsgBox "Der übergebene Wert ist: " & Wert End Sub ``` **Erkläru... [mehr]