Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Prüfen ob Wert in einer Range ist

Prüfen ob Wert in einer Range ist
13.08.2015 01:20:08
Peter
Hallo Zusammen,
bitte um Eure Hilfe.
Ich habe in der Range (B11:B250) bestimmte Werte z.B. d2021, d2210, d45211 usw.. Nun möchte ich Prüfen, ob ein Wert, den ich aus einer anderen Datei übernehme in der Range bereits vorhanden ist. Ist der Wert z.B. D3123 nicht in der Range, dann soll er unten angehängt werden.
Geht das auch ohne einer Schleife?
Danke für Eure Hilfe,
Peter

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Prüfen ob Wert in einer Range ist
13.08.2015 08:25:25
haw
Hallo Peter,
hier eine Möglichkeit mit einer Funktion:
Function PuE(SB As String)
Dim ws As Worksheet, efz%, gef As Range
Set ws = ThisWorkbook.Worksheets("Liste")
Set gef = ws.Range("B11:B250").Find(SB)
If gef Is Nothing Then
efz = ws.Cells(Rows.Count, 2).End(xlUp).Row + 1
ws.Cells(efz, 2).Value = SB
End If
End Function
PuE soll Prüfen und einfügen bedeuten
Gruß
Heinz

Anzeige
AW: Prüfen ob Wert in einer Range ist
14.08.2015 08:56:27
Peter
Hallo Heinz,
vielen Dank für deine Hilfe.
Es ist genau das was ich gesucht habe.
Liebe Grüße,
Peter
;
Anzeige
Anzeige

Infobox / Tutorial

Werte in einer Excel-Range prüfen und hinzufügen


Schritt-für-Schritt-Anleitung

Um zu prüfen, ob ein Wert in einer bestimmten Range (z. B. B11:B250) in Excel bereits vorhanden ist und ihn gegebenenfalls hinzuzufügen, kannst Du die folgende VBA-Funktion verwenden:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Klicke im Menü auf Einfügen und dann auf Modul, um ein neues Modul zu erstellen.
  3. Füge den folgenden Code in das Modul ein:
Function PuE(SB As String)
    Dim ws As Worksheet, efz%, gef As Range
    Set ws = ThisWorkbook.Worksheets("Liste")
    Set gef = ws.Range("B11:B250").Find(SB)
    If gef Is Nothing Then
        efz = ws.Cells(Rows.Count, 2).End(xlUp).Row + 1
        ws.Cells(efz, 2).Value = SB
    End If
End Function
  1. Schließe den VBA-Editor und gehe zurück zu Deinem Excel-Arbeitsblatt.
  2. Du kannst nun die Funktion PuE verwenden, um einen Wert zu prüfen und hinzuzufügen.

Häufige Fehler und Lösungen

  • Fehler: „Komponente nicht gefunden“

    • Lösung: Überprüfe, ob die Excel-Datei die Makros unterstützt und ob Du die richtige Datei (Dateiformat .xlsm) verwendest.
  • Fehler: „Typenkonflikt“

    • Lösung: Stelle sicher, dass der übergebene Wert als String deklariert ist. Benutze zum Beispiel PuE("d3123").

Alternative Methoden

Falls Du keine VBA-Funktion verwenden möchtest, kannst Du auch die Kombination von WENN und VERGLEICH nutzen:

  1. Angenommen, Du möchtest den Wert in Zelle A1 prüfen:
=WENN(ISTNV(VERGLEICH(A1;B11:B250;0));A1&" hinzufügen";"Bereits vorhanden")

Diese Formel gibt den Wert zurück und fügt an, dass der Wert hinzugefügt werden soll, wenn er nicht gefunden wird.


Praktische Beispiele

Nehmen wir an, Du hast die Werte in B11:B250 bereits eingetragen. Wenn Du nun den Wert d3123 prüfen möchtest, kannst Du die Funktion PuE("d3123") aufrufen. Wenn d3123 nicht in der Liste ist, wird er unten angehängt.


Tipps für Profis

  • Fehlerbehandlung: Füge eine Fehlerbehandlung in die VBA-Funktion ein, um unerwartete Fehler abzufangen.
  • Optimierung: Überlege, ob es sinnvoll ist, die Range dynamisch zu gestalten, sodass sie nicht festgelegt ist, sondern sich automatisch an die Anzahl der Einträge anpasst.
  • Ereignisse: Du kannst die Funktion an ein Ereignis (z. B. beim Ändern einer Zelle) binden, um die Prüfung automatisch durchzuführen.

FAQ: Häufige Fragen

1. Wie kann ich die VBA-Funktion anpassen, um mehrere Spalten zu prüfen?
Du kannst die Range in der Find-Methode anpassen. Beispiel: Set gef = ws.Range("B11:C250").Find(SB).

2. Funktioniert das auch in Excel Online?
Leider unterstützt Excel Online keine VBA-Makros. Du musst eine Desktop-Version von Excel verwenden.

3. Was mache ich, wenn ich die Funktion für andere Werte verwenden möchte?
Du kannst die Funktion anpassen, indem Du den Parameter SB änderst. Rufe einfach PuE("DeinWert") auf, um andere Werte zu prüfen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige