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

Liegt aktive Zelle in Bereich

Forumthread: Liegt aktive Zelle in Bereich

Liegt aktive Zelle in Bereich
13.07.2002 09:17:10
Horst
Hallo,

ich muss überprüfen, ob eine angewählte Zelle in einem bestimmten Bereich liegt.
Kann mir bitte jemand einen kleinen Tip geben wie das geht ?

Danke im Voraus
Horst

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Liegt aktive Zelle in Bereich
13.07.2002 09:25:43
jinx
Moin, Horst,

so zum Beispiel:

cu
jinx

Re: Liegt aktive Zelle in Bereich
13.07.2002 09:53:23
Horst
Hallo jinx
vielen Dank für Deine Info.
aber wie kann ich einen gesammten Bereich definieren und überprüfen ? z.B. Spalte A10 bis A20 ?

Gruß Horst

Re: Liegt aktive Zelle in Bereich
13.07.2002 10:31:29
jinx
Moin, Horst,

indem Du statt einzelner Zellen den Bereich ansprichst, für das Beispiel abgewandelt dann entsprechend
Set SMenge = Application.Intersect(Range("A10:A20"), Range(ActiveCell.Address))

cu
jinx

Anzeige
;
Anzeige

Infobox / Tutorial

Überprüfung, ob die aktive Zelle in einem bestimmten Bereich liegt


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und stelle sicher, dass das VBA-Entwickler-Tool aktiviert ist. Gehe dazu auf Datei > Optionen > Menüband anpassen und aktiviere das Feld "Entwicklertools".

  2. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (DeineDatei.xlsx)" und wähle Einfügen > Modul.

  4. Gib den folgenden Code ein:

    Sub CheckActiveCellInRange()
       Dim SMenge As Range
       Set SMenge = Application.Intersect(Range("A10:A20"), Range(ActiveCell.Address))
    
       If Not SMenge Is Nothing Then
           MsgBox "Die aktive Zelle liegt im Bereich A10:A20."
       Else
           MsgBox "Die aktive Zelle liegt nicht im Bereich A10:A20."
       End If
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus: Gehe zu Entwicklertools > Makros, wähle CheckActiveCellInRange aus und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004: Methode 'Intersect' des Objekts 'Application' ist fehlgeschlagen."

    • Lösung: Stelle sicher, dass die aktive Zelle innerhalb der definierten Range liegt. Andernfalls wird der Fehler angezeigt.
  • Fehler: "Der Typ der Variable ist nicht korrekt."

    • Lösung: Überprüfe, ob Du den richtigen Datentyp für die Range-Variablen verwendest und dass Du den richtigen Bereich angegeben hast.

Alternative Methoden

Eine alternative Methode zur Überprüfung, ob die aktive Zelle in einem bestimmten Bereich liegt, ist die Verwendung von Excel-Formeln. Du kannst die WENN-Funktion zusammen mit UND nutzen:

=WENN(UND(AktiveZelle>=A10; AktiveZelle<=A20); "In Bereich"; "Nicht in Bereich")

Diese Formel kann direkt in eine Zelle eingegeben werden, um den Status der aktiven Zelle zu überprüfen.


Praktische Beispiele

  • Beispiel 1: Du möchtest überprüfen, ob die aktive Zelle in einem Bereich von B5 bis B15 liegt. Ändere einfach die Range im VBA-Code:

    Set SMenge = Application.Intersect(Range("B5:B15"), Range(ActiveCell.Address))
  • Beispiel 2: Wenn Du mehrere Bereiche überprüfen möchtest, kannst Du die Union-Funktion nutzen:

    Set SMenge = Application.Intersect(Union(Range("A10:A20"), Range("B10:B20")), Range(ActiveCell.Address))

Tipps für Profis

  • Nutze die With-Anweisung, um den Code lesbarer zu gestalten:

    With Application
       Set SMenge = .Intersect(Range("A10:A20"), Range(ActiveCell.Address))
    End With
  • Verwende die MsgBox-Funktion, um benutzerdefinierte Nachrichten anzuzeigen. Du kannst auch die Schaltflächen und Icons anpassen, um die Benutzererfahrung zu verbessern.


FAQ: Häufige Fragen

1. Kann ich die aktive Zelle auch in einem anderen Arbeitsblatt überprüfen? Ja, Du kannst den Code anpassen, um auf ein bestimmtes Arbeitsblatt zuzugreifen, indem Du Worksheets("DeinBlatt").Range("A10:A20") verwendest.

2. Ist dieser Code in allen Excel-Versionen verfügbar? Ja, der VBA-Code funktioniert in Excel-Versionen ab 2007 und höher. Stelle sicher, dass Du Makros in den Excel-Optionen aktiviert hast.

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