Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wert prüfen ob in Spalte vorhanden

Wert prüfen ob in Spalte vorhanden
30.05.2005 23:10:00
Korl
Hallo und guten Abend,
ich möchte gerne über VBA feststellen ob der Wert in "A1" sich in der Spalte "D" befindet.
Das zweite Problem wäre dann, den letzten Wert aus Spalte "D" zu ermitteln um den in Spalte "B" zu finden und in der danebenliegende Zelle in Spalte "C" den String "Vorhanden" einzutragen.
Könnte mir jemand vielleicht den jeweiligen Ansatz schreiben?
Alles weitere möchte ich dann erstmal selber versuchen.
Gruß Korl
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wert prüfen ob in Spalte vorhanden
30.05.2005 23:31:16
Beni
Hallo Korl.
Gruss beni

Sub Makro3()
Wert = Cells(1, 1)
Set a = Columns(4).Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not a Is Nothing Then
'Fundort a(1,1)
End If
Wert = Cells(65536, 4).End(xlUp).Row ' letzter Wert in Spalte D
Set d = Columns(2).Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not d Is Nothing Then d(1, 2) = "Vorhanden"
End Sub

Anzeige
Danke beni, es funktioniert
30.05.2005 23:45:19
Korl
Hallo beni,
Danke für Deine Mühe und Hilfe.
Es funktioniert. Ich kann entlich mit meinem Teil weiter machen.
Gruß Korl
letzter Wert aus Spalte wird nicht gefunden
31.05.2005 09:51:03
Korl
Hallo,
@Beni war so nett und hat mir in der Sache schon geholfen, nur der zweite Teil will nicht so recht.
Nochmal zu Erläuterung:
Ich möchte gerne den letzten Wert aus Spalte "D" ermitteln, diesen in Spalte "B" suchen und wenn gefunden daneben in Spalte "B" einen Wert z.B. "vorhanden" eintragen lassen.
Dies ist der Code:

Sub Test1()
'Wert = Cells(1, 1) 'mit diesem Wert funktioniert der Code
Wert = Cells(65536, 4).End(xlUp).Row ' letzter Wert in Spalte D
Set d = Columns(2).Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not d Is Nothing Then d(1, 2) = "Vorhanden"
End Sub

Wenn ich in diesemn Code die erste Zeile aktiviere funktioniert es so wie es soll.
Es hängt also daran, dass der letzte Wert aus Spalte "D" nicht gefunden oder übernommen wird?
Wäre vielleicht noch jemand so nett mir unter die Arme zu greifen?
Gruß Korl


Anzeige
AW: letzter Wert aus Spalte wird nicht gefunden
31.05.2005 10:15:39
Beni
Hallo Korl,
war mein Fehler, habe es nicht getestet.
Gruss beni

Sub Test1()
z = Cells(65536, 4).End(xlUp).Row ' letzter Wert in Spalte D
Wert = Cells(z, 4)
Set d = Columns(2).Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)
If Not d Is Nothing Then d(1, 2) = "Vorhanden"
End Sub

Anzeige
aber jetzt! Danke Beni für die Mühe owT
31.05.2005 10:23:01
Korl
.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Wert prüfen, ob in Spalte vorhanden


Schritt-für-Schritt-Anleitung

Um zu prüfen, ob ein Wert in einer bestimmten Spalte vorhanden ist, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf "VBAProject (deine Datei)" klickst und "Einfügen" > "Modul" wählst.
  3. Kopiere und füge den folgenden VBA-Code ein:
Sub WertPruefen()
    Dim Wert As Variant
    Dim Fundort As Range

    ' Wert aus Zelle A1 auslesen
    Wert = Cells(1, 1).Value

    ' Prüfen, ob Wert in Spalte D vorhanden ist
    Set Fundort = Columns("D").Find(What:=Wert, LookIn:=xlValues, LookAt:=xlWhole)

    If Not Fundort Is Nothing Then
        MsgBox "Wert gefunden in Zelle: " & Fundort.Address
    Else
        MsgBox "Wert nicht gefunden."
    End If
End Sub
  1. Schließe den VBA-Editor und gehe zurück zu Excel.
  2. Führe das Makro aus, um zu prüfen, ob der Wert in Spalte D vorhanden ist.

Häufige Fehler und Lösungen

  • Problem: Das Makro findet den Wert nicht, obwohl er vorhanden ist.

    • Lösung: Stelle sicher, dass der "LookAt"-Parameter auf xlWhole gesetzt ist, um die genaue Übereinstimmung zu prüfen.
  • Problem: Fehler beim Auslesen des letzten Wertes aus der Spalte.

    • Lösung: Verwende die Zeile Wert = Cells(Rows.Count, 4).End(xlUp).Value, um den letzten Wert korrekt zu ermitteln.

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du auch Excel-Formeln nutzen, um zu überprüfen, ob ein Wert in einer Liste vorhanden ist:

  • Verwendung der WVERWEIS-Funktion:

    =WVERWEIS(A1;D:D;1;FALSCH)

    Wenn der Wert nicht gefunden wird, gibt die Formel einen Fehler zurück.

  • Verwendung der ZÄHLENWENN-Funktion:

    =ZÄHLENWENN(D:D; A1) > 0

    Diese Formel gibt TRUE zurück, wenn der Wert vorhanden ist, und FALSE, wenn nicht.


Praktische Beispiele

Hier sind einige nützliche Anwendungen für das Überprüfen, ob ein Wert in einer Spalte vorhanden ist:

  • Überprüfung von Produkt IDs in einem Lagerbestand: Du kannst einen Wert aus einer Zelle nehmen und prüfen, ob die entsprechende Produkt ID in deiner Lagerbestandsliste vorhanden ist.

  • Datenabgleich zwischen zwei Tabellen: Wenn du Daten zwischen zwei Tabellen abgleichen möchtest, kannst du VBA verwenden, um zu überprüfen, ob ein Wert in der anderen Tabelle vorhanden ist.


Tipps für Profis

  • Nutze die Option Explicit-Anweisung am Anfang deiner VBA-Module, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden und den Code klarer zu gestalten.

  • Verwende die Application.Match-Funktion in VBA, um schneller zu überprüfen, ob ein Wert existiert, anstatt die Find-Methode zu verwenden, wenn du nur wissen möchtest, ob der Wert vorhanden ist.


FAQ: Häufige Fragen

1. Wie kann ich prüfen, ob ein Wert in einer anderen Tabelle vorhanden ist?
Du kannst die Find-Methode auf die andere Tabelle anwenden, indem du den Arbeitsblattnamen in deinem Code angibst.

2. Was mache ich, wenn ich nur einen Teil des Wertes prüfen möchte?
Verwende LookAt:=xlPart in der Find-Methode, um Teilübereinstimmungen zuzulassen.

3. Kann ich mehrere Spalten gleichzeitig überprüfen?
Ja, du kannst eine Schleife verwenden, um durch mehrere Spalten zu iterieren und die Find-Methode auf jede Spalte anzuwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige