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

Forumthread: Aktive Zelle verschieben

Aktive Zelle verschieben
15.03.2007 14:11:28
Walter
Hallo Zusammen,
habe im Makro, zum testen, folgende Zeile:
If ActiveCell.Value > 0 Then ActiveCell.Offset(0, -1)
klappt nicht.
Wenn man in der aktiven Zelle einen wert einsetzt. Soll anschließend der Courser bzw. die
aktive Zelle eine Spalte nach links gehen.
Ich möchte später, wenn meine testphase beendet ist, dies automatisch, wenn man im Tabellenblatt ist
und man ist in der Spalte"Y" ab Zeile 6 bis ... eine Zahl eingibt, das anschließend der Courser nach links geht. (Und das die Spalte "W" ausgeblendet wird)
mfg walter
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Aktive Zelle verschieben
15.03.2007 14:31:13
Andi
Hi,
das muss so aussehen:
If ActiveCell.Value > 0 Then ActiveCell.Offset(0, -1).Select
Um den Fehler abzufangen, der auftritt, wenn versucht wird von Spalte A nach links zu rutschen, besser so:
If ActiveCell.Column > 1 Then
If ActiveCell.Value > 0 Then ActiveCell.Offset(0, -1).Select
End If
Schönen Gruß,
Andi
Anzeige
Das ist soweit i.o. aber
15.03.2007 16:00:49
Walter
Hallo Andi,
soweit i.o.
Hier mein Makro:

Sub Spalten_Prozent_kalkulieren()
Range("x:x").EntireColumn.Hidden = True
If ActiveCell.Value > 0 Then
ActiveCell.Offset(0, -2).Select
ActiveCell.Value = ""
Range("w:w,z:z").EntireColumn.Hidden = True
Range("x:x").EntireColumn.Hidden = False
ActiveCell.Offset(0, 2).Select
End If
End Sub

Wie kann man das hinkriegen, das dies bei Reaktion bzw. wenn man die aktive Zelle mit ENTER bestätigt
oder verläßt und in der zuvor ActivenCell der Wert > ist als 0 ?
Dies findet immer in der Spalte "Y" ab Zeile 4 ! statt, also immer wenn da eine Zahl eingegeben wurde.
mfg Walter
Anzeige
Ende da... -)
17.03.2007 11:30:36
Walter
Hallo Andi,
die Hilfe bisher war GUT, Spalten ausblenden kann ich garnicht, da sonst bei einer Zahl in irgendeiner Zelle die kompl. Spalte fehlt.
Bin erst später darauf gekommen...alles,
danke
mfg walter
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Aktive Zelle verschieben in Excel mit VBA


Schritt-für-Schritt-Anleitung

Um die aktive Zelle in Excel mit VBA zu verschieben, kannst du das folgende Makro verwenden. Dieses Makro überprüft den Wert der aktiven Zelle und verschiebt den Cursor nach links, wenn die Bedingungen erfüllt sind.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu: Rechtsklick auf „VBAProject (DeineArbeitsmappe)” > Einfügen > Modul.
  3. Kopiere den folgenden Code in das Modul:
Sub Spalten_Prozent_kalkulieren()
    Range("x:x").EntireColumn.Hidden = True
    If ActiveCell.Column > 1 Then
        If ActiveCell.Value > 0 Then
            ActiveCell.Offset(0, -1).Select
            ActiveCell.Value = ""
            Range("w:w,z:z").EntireColumn.Hidden = True
            Range("x:x").EntireColumn.Hidden = False
            ActiveCell.Offset(0, 1).Select
        End If
    End If
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Weise das Makro einem Button oder einer Tastenkombination zu, um es einfach auszuführen.

Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004"

    • Ursache: Du versuchst, von der Spalte A nach links zu verschieben.
    • Lösung: Stelle sicher, dass die aktive Zelle nicht in Spalte A ist, bevor du den Offset anwendest.
  • Fehler: Zelle wird nicht geändert

    • Ursache: Die Bedingungen im Makro sind nicht erfüllt.
    • Lösung: Überprüfe, ob der Wert in der aktiven Zelle tatsächlich größer als 0 ist.

Alternative Methoden

Wenn du keine VBA-Lösungen verwenden möchtest, kannst du die aktive Zelle auch manuell verschieben:

  • Mit der Tastatur: Verwende die Pfeiltasten, um zur gewünschten Zelle zu navigieren.
  • Mit der Maus: Klicke auf die gewünschte Zelle, um sie aktiv zu setzen.

Für automatisierte Prozesse sind VBA-Makros jedoch oft die effektivere Lösung.


Praktische Beispiele

Hier ist ein weiteres Beispiel, das die aktive Zelle in Excel verschiebt, wenn ein Wert eingegeben wird:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("Y6:Y100")) Is Nothing Then
        If Target.Value > 0 Then
            Target.Offset(0, -1).Select
            Target.Value = ""
        End If
    End If
End Sub

In diesem Beispiel wird die aktive Zelle automatisch nach links verschoben, wenn in der Spalte Y ein Wert eingegeben wird.


Tipps für Profis

  • Verbindung zu Benutzerereignissen: Nutze das Worksheet_Change-Ereignis, um automatisch auf Änderungen zu reagieren, ohne das Makro manuell auszuführen.
  • Debugging: Verwende den Debugger im VBA-Editor, um durch deinen Code zu gehen und Fehler zu identifizieren.
  • Zugänglichkeit: Stelle sicher, dass dein Makro auch von anderen Benutzern leicht ausgeführt werden kann, indem du es einfach in eine Schaltfläche oder eine Tastenkombination einfügst.

FAQ: Häufige Fragen

1. Wie kann ich das Makro automatisch ausführen lassen? Du kannst das Makro so einstellen, dass es automatisch beim Ändern einer Zelle ausgeführt wird, indem du das Worksheet_Change-Ereignis verwendest.

2. Funktioniert dies in jeder Excel-Version? Ja, die beschriebenen VBA-Makros sollten in den meisten Excel-Versionen funktionieren, die VBA unterstützen, wie Excel 2010, 2013, 2016, 2019 und Microsoft 365.

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