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
Frage stellen und sofort Antwort erhalten

Verwandte Fragen

Wie kann man in Access VBA eine Pause von 10 Sekunden einlegen?

In Access VBA kannst du eine Pause von 10 Sekunden mit der Sleep-Funktion aus der Windows-API einlegen. Hier ein Beispiel, wie das funktioniert: ```vba Declare PtrSafe Sub Sleep Lib "kernel32&qu... [mehr]

Wie kann man eine per Access-VBA automatisch geöffnete Excel-Datei direkt wieder schließen?

Um eine Excel-Datei, die per Access-VBA geöffnet wurde, automatisch wieder zu schließen, solltest du das Excel-Objektmodell in deinem Access-VBA-Code verwenden. Hier ein Beispiel, wie das g... [mehr]

Was bedeutet der Befehl "QuellBlatt1.Rows(2).Copy" in VBA?

Der Befehl `QuellBlatt1.Rows(2).Copy` in VBA (Visual Basic for Applications) bedeutet, dass die **zweite Zeile** (Row 2) des Arbeitsblatts mit dem Namen oder Objektverweis `QuellBlatt1` **kopiert** wi... [mehr]

Wie funktioniert oPPT.Presentations.Open(sFile) in VBA?

Die Methode `oPPT.Presentations.Open(sFile)` stammt aus der Automatisierung von Microsoft PowerPoint mit VBA (Visual Basic for Applications) oder anderen Programmiersprachen, die COM-Automatisierung u... [mehr]

Wie kann ich mit VBA den Wert einer benannten Zelle in eine Zelle eines anderen Arbeitsblatts kopieren?

Um mit VBA den Wert einer Zelle, der ein definierter Name zugewiesen wurde, in eine Zelle eines anderen Arbeitsblatts zu kopieren, kannst du folgenden Code verwenden: ```vba Sub WertKopieren() &#... [mehr]

Mit welcher Funktion kann ich in VBA einen im Arbeitsblatt ermittelten Wert anzeigen?

In VBA kannst du einen Wert, den dein Makro zuvor ermittelt hat, mit der Funktion `MsgBox` anzeigen. Beispiel: ```vba Dim ermittelterWert As Double ermittelterWert = Worksheets("Tabelle1").... [mehr]

Wie lässt sich in Excel VBA der Typ eines Tabellenblatts (Chart oder Worksheet) ermitteln?

In Excel VBA kannst du den Typ eines Tabellenblatts (ob es sich um ein Arbeitsblatt oder ein Diagrammblatt handelt) mit der Type-Eigenschaft des jeweiligen Objekts ermitteln. Hier ein Beispiel: ```vb... [mehr]

Wie kann man in Access VBA die Bildschirmaktualisierung verhindern bzw. den Bildschirm einfrieren?

In Microsoft Access (VBA) gibt es keine direkte Methode wie `Application.ScreenUpdating = False` (wie in Excel), um den Bildschirm während der Ausführung von Code "einzufrieren". D... [mehr]

Wie öffne ich per VBA aus einer Access-Anwendung eine andere Access-Anwendung?

Um aus einer Access-Anwendung per VBA eine andere Access-Anwendung zu öffnen, kannst du das **CreateObject**-Kommando verwenden und die gewünschte Datenbank mit der **OpenCurrentDatabase**-M... [mehr]

Wie kann die VBA-Formel angepasst werden, sodass alle Mitarbeiter in die Zieltabelle übertragen werden?

Hier ist die überarbeitete Version des Makros, die **jeden Mitarbeiter** aus dem Bereich C9:C66 der Quell-Tabelle ("Personen einzelnd drucken") in die Ziel-Tabelle ("Arbeitsplan&qu... [mehr]