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

If ActiveCell = Range("A1") Then

Forumthread: If ActiveCell = Range("A1") Then

If ActiveCell = Range("A1") Then
08.12.2019 21:02:42
Horst
Liebe Excelfreunde,
Ich habe eine Mappe bei der, dieser Befehl funktioniert.
Sub Makro1()
If ActiveCell = Range("A1") Then
Exit Sub
End If
End Sub
In dieser Mappe ...
https://www.herber.de/bbs/user/133683.xls
... läuft der Befehl, egal wo die aktive Zelle ist, immer ins Exit Sub.
Hat jemand eine Erklärung, woran das liegt? Gibt es vielleicht einen anderen Befehl?
Danke für eure Hilfe
Gruß Horst
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: If ActiveCell = Range("A1") Then
08.12.2019 21:05:40
Hajo_Zi
Hallo Horst,
das ist doch klar A1 ist ""

AW: If ActiveCell = Range("A1") Then
08.12.2019 21:15:28
Horst
Hallo Hajo,
ich verstehe deine Erklärung nicht.
Ich hab den Befehl schlichtweg aus einer anderen Mappe kopiert, wo er funktioniert.
Gruß Horst
AW: If ActiveCell = Range("A1") Then
08.12.2019 21:38:31
Hajo_Zi
Hallo Horst,
ja ich srehe es da war die Zelle A1 nicht ""
Gruß Hajo
Anzeige
Hajos Antwort ist ja auch falsch. owT
08.12.2019 21:40:15
Matthias
was willst Du denn überhaupt machen?
08.12.2019 21:40:31
Matthias
Hallo
Willst Du den Zellinhalt von A1 mit dem Zellinhalt von ActiveCell vergleichen
oder willst Du prüfen ob A1 = ActiveCell ist?
Gruß Matthias
AW: If ActiveCell = Range("A1") Then
08.12.2019 22:31:26
Werner
Hallo Horst,
so:
Sub Makro1()
If ActiveCell.Address(0, 0) = "A1" Then
Exit Sub
Else
MsgBox "Hallo"
End If
End Sub
Wobei sich, wie Matthias schon angemerkt hat, die Frage stellt, was du eigentlich vor hast?
Gruß Werner
Anzeige
AW: If ActiveCell = Range("A1") Then
09.12.2019 16:52:20
Horst
Hallo,
ich will prüfen, ob A1 die aktive Zelle ist, ob leer oder nicht.
Wo ich den Befehl her hatte, stand immer etwas in A1, deshalb hat er auch funktioniert.
If ActiveCell.Address(0, 0) = "A1" Then zeigt mir natürlich das an, was ich brauche.
Danke, Gruß Horst
Gerne u. Danke für die Rückmeldung. o.w.T.
09.12.2019 19:32:40
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Überprüfung der aktiven Zelle in Excel VBA


Schritt-für-Schritt-Anleitung

Um zu überprüfen, ob die aktive Zelle in Excel VBA der Zelle A1 entspricht, kannst du folgenden VBA-Code verwenden:

Sub Makro1()
    If ActiveCell.Address(0, 0) = "A1" Then
        Exit Sub
    Else
        MsgBox "Die aktive Zelle ist nicht A1."
    End If
End Sub

In diesem Code wird die Adresse der ActiveCell abgefragt und mit "A1" verglichen. Wenn die aktive Zelle A1 ist, wird das Makro beendet. Andernfalls wird eine Nachricht angezeigt.


Häufige Fehler und Lösungen

  1. Fehler: Der Code funktioniert nicht wie erwartet.

    • Lösung: Stelle sicher, dass die aktive Zelle tatsächlich A1 ist. Nutze ActiveCell.Address um die Adresse zu überprüfen.
  2. Fehler: Der Inhalt von A1 wird nicht berücksichtigt.

    • Lösung: Wenn du den Zellinhalt vergleichen möchtest, kannst du den folgenden Code verwenden:
    If ActiveCell.Value = Range("A1").Value Then
       Exit Sub
    End If
  3. Fehler: Exit Sub wird immer erreicht.

    • Lösung: Überprüfe, ob die Zelle A1 leer ist. Wenn A1 leer ist, wird der Vergleich immer fehlschlagen.

Alternative Methoden

Eine weitere Methode, um die aktive Zelle zu überprüfen, besteht darin, die Range-Funktion zu verwenden:

If Not Intersect(ActiveCell, Range("A1")) Is Nothing Then
    Exit Sub
End If

Diese Methode nutzt die Intersect-Funktion, um zu prüfen, ob die aktive Zelle A1 ist, und ist besonders nützlich, wenn du mit mehreren Zellen arbeitest.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie du die aktive Zelle in verschiedenen Szenarien überprüfen kannst:

  1. Überprüfen, ob die aktive Zelle leer ist:
If IsEmpty(ActiveCell) Then
    MsgBox "Die aktive Zelle ist leer."
End If
  1. Aktive Zelle mit A1 vergleichen und Wert anzeigen:
If ActiveCell.Address(0, 0) = "A1" Then
    MsgBox "Die aktive Zelle ist A1 mit dem Wert: " & ActiveCell.Value
End If

Tipps für Profis

  • Verwende ActiveCell.Range für spezifische Operationen innerhalb der aktiven Zelle, z.B. ActiveCell.Range("A1").Interior.Color = RGB(255, 0, 0) um die Hintergrundfarbe zu ändern.
  • Nutze Application.Caller, um herauszufinden, welches Steuerelement das Makro ausgelöst hat, wenn du mit Formularsteuerelementen arbeitest.
  • Teste deine VBA-Codes in einer Entwicklungsumgebung und stelle sicher, dass du immer Sicherheitskopien deiner Arbeitsmappen hast.

FAQ: Häufige Fragen

1. Wie kann ich den Zellinhalt von A1 mit dem Zellinhalt von ActiveCell vergleichen? Um den Zellinhalt zu vergleichen, verwende den Code:

If ActiveCell.Value = Range("A1").Value Then
    MsgBox "Die Inhalte sind gleich."
End If

2. Was passiert, wenn die aktive Zelle leer ist? Wenn die aktive Zelle leer ist, wird der Vergleich fehlschlagen. Stelle sicher, dass du die Methode IsEmpty() nutzt, um dies zu überprüfen.

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