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

If Target = Range("l9") Then

Forumthread: If Target = Range("l9") Then

If Target = Range("l9") Then
Karsten

Hallo...
Kann mir jemand den Befehl für die gesamte Spalte L umschreiben.
Besten Dank
Gruß
Karsten
Private Sub Worksheet_Change(ByVal Target As Range)
If Target = Range("l9") Then
Set rngBereich = Nothing
Set rng = Nothing
Application.Run "a"
End If
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: If Target = Range("l9") Then
25.07.2009 14:27:04
Matthias
Hallo
If Not Intersect(Target, Range("L:L")) Is Nothing Then ...
Gruß Matthias
AW: If Target = Range("l9") Then
25.07.2009 14:51:53
Karsten
Hallo Matthias ,
Danke!
Gruß
Karsten
AW: If Target = Range("l9") Then
25.07.2009 14:28:17
Dirk
Hallo Karsten,
versuche mal:
If Target.Column = 12 Then
Gruß
Dirk R.
Anzeige
AW: If Target = Range("l9") Then
25.07.2009 15:03:02
Karsten
Hallo Dirk,
Geht auch, danke.
Gruß
Karsten
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

VBA - Target Range über die gesamte Spalte L ansprechen


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Wähle das entsprechende Arbeitsblatt aus: Doppelklicke auf das Arbeitsblatt, in dem du die Änderungen vornehmen möchtest.
  3. Füge die folgenden Codezeilen ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("L:L")) Is Nothing Then
        ' Hier kannst du den gewünschten Code einfügen
        Application.Run "a"
    End If
End Sub
  1. Speichere die Änderungen und schließe den VBA-Editor.

Mit diesem Code überprüfst du, ob der Target-Bereich Teil der gesamten Spalte L ist. Wenn das der Fall ist, wird der Code innerhalb der If-Bedingung ausgeführt.


Häufige Fehler und Lösungen

  • Fehler: "Compile error: Variable not defined"

    • Lösung: Stelle sicher, dass alle Variablen, die du verwendest, korrekt deklariert sind.
  • Fehler: "Object variable or With block variable not set"

    • Lösung: Überprüfe, ob du Set für Objekte verwendest, die nicht initialisiert sind.
  • Fehler: If Intersect(Target, Range("L:L")) Is Nothing funktioniert nicht

    • Lösung: Achte darauf, dass die Schreibweise korrekt ist und dass der Code im richtigen Event (z.B. Worksheet_Change) platziert ist.

Alternative Methoden

Falls du anstelle des Intersect-Befehls eine andere Methode verwenden möchtest, kannst du auch den Target direkt auf die Spalte L überprüfen:

If Target.Column = 12 Then
    ' Dein Code hier
End If

Hier wird die Spalte L (die 12. Spalte) direkt angesprochen, was eine einfache Alternative darstellt.


Praktische Beispiele

Hier sind einige Beispiele, die das Verständnis der Target-Range in VBA erleichtern:

  1. Einfacher Wert setzen:

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("L:L")) Is Nothing Then
            Target.Value = "Änderung erkannt"
        End If
    End Sub
  2. Bedingte Formatierung:

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("L:L")) Is Nothing Then
            If Target.Value > 100 Then
                Target.Interior.Color = RGB(255, 0, 0) ' Rot
            End If
        End If
    End Sub

Tipps für Profis

  • Nutze ByVal Target As Range, um sicherzustellen, dass du mit dem übergebenen Bereich arbeitest.
  • Verwende Application.EnableEvents = False, um Schleifen zu vermeiden, wenn du Änderungen am Arbeitsblatt vornimmst.
  • Überlege, ob du spezifische Aktionen nur für bestimmte Zellen oder Bereiche innerhalb der Spalte L durchführen möchtest, um die Performance zu optimieren.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen Target und Range?
Target ist der Bereich, der durch die Änderungen im Arbeitsblatt beeinflusst wird, während Range ein spezifischer Bereich ist, den du definierst.

2. Wie kann ich mehrere Spalten gleichzeitig überwachen?
Du kannst Intersect mit mehreren Spalten verwenden, z.B. If Not Intersect(Target, Range("L:L,M:M")) Is Nothing Then.

3. Was passiert, wenn ich Application.Run verwenden möchte?
Stelle sicher, dass das aufgerufene Makro korrekt definiert ist. Application.Run "a" führt das Makro mit dem Namen "a" aus.

4. Wie kann ich die Spalte L auf spezifische Werte überprüfen?
Du kannst Bedingungen innerhalb des If-Blocks hinzufügen, um spezifische Werte zu überprüfen, z.B. If Target.Value = "x" Then.

5. Welche Excel-Version benötige ich für diesen Code?
Der Code sollte in den meisten modernen Excel-Versionen (Excel 2010 und höher) funktionieren.

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