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

Forumthread: Per VBA Focus auf Zelle setzen

Per VBA Focus auf Zelle setzen
21.10.2016 11:39:02
Rolf
Hallo Zusammen,
ich habe eine Userform aus der ich per CommandButton in eine Zelle einer Exceldatei springe. wenn ich jetzt in diese Zelle etwas eingeben möchte muss ich vorher nochmals in diese Zelle klicken. Wie kann ich diesen Mausklick umgehen?
Vielen Dank im Voraus
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Per VBA Focus auf Zelle setzen
21.10.2016 12:45:41
Arthur
Hallo Rolf.
Wie springst du in die Zelle/ was macht der CommandButton?
Wenn er die Zelle per select auswählt, sollte die Eingabe direkt möglich sein.
Gruß, Arthur
AW: Per VBA Focus auf Zelle setzen
21.10.2016 13:14:18
Rolf
Hallo Arthur,
mit folgendem Befehl:
Cells(ActiveCell.Row, 31).Select
AW: Per VBA Focus auf Zelle setzen
21.10.2016 15:01:19
Nepumuk
Hallo,
teste mal:
Private Sub CommandButton1_Click()
    Call Cells(ActiveCell.Row, 31).Select
    Call AppActivate(Title:=Application.Caption)
End Sub

Gruß
Nepumuk
Anzeige
AW: Per VBA Focus auf Zelle setzen
22.10.2016 16:16:11
Rolf
Hallo Nepumuk,
klappt!!
Vielen Dank!!!!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Fokus auf Zelle setzen mit VBA


Schritt-für-Schritt-Anleitung

Um mit VBA den Fokus auf eine bestimmte Zelle in Excel zu setzen, kannst du den folgenden Code in das Click-Ereignis eines CommandButtons einfügen:

Private Sub CommandButton1_Click()
    Cells(ActiveCell.Row, 31).Select
    AppActivate (Title:=Application.Caption)
End Sub

Dieser Code wählt die Zelle in der aktuellen Zeile und der 31. Spalte aus und aktiviert das Excel-Fenster, sodass du direkt in die Zelle eingeben kannst, ohne vorher einen Mausklick zu benötigen.


Häufige Fehler und Lösungen

1. Fehler: Der Fokus wird nicht auf die Zelle gesetzt.
Lösung: Stelle sicher, dass du den Select-Befehl korrekt verwendest. Wenn du Cells(ActiveCell.Row, 31).Select nicht korrekt implementierst, kann es sein, dass der Fokus nicht richtig gesetzt wird.

2. Fehler: Der CommandButton funktioniert nicht.
Lösung: Überprüfe, ob der Code im richtigen Bereich eingegeben wurde. Der Code sollte im Modul der Userform platziert sein.


Alternative Methoden

Eine alternative Methode, um den Fokus auf eine Zelle zu setzen, ist die Verwendung des SetFocus-Befehls. Dies kann besonders nützlich sein, wenn du den Fokus auf ein Steuerelement setzen möchtest, bevor du die Zelle bearbeitest.

Private Sub CommandButton1_Click()
    Cells(ActiveCell.Row, 31).Select
    ' Setzt den Fokus auf die Zelle
    Application.Goto Reference:=Cells(ActiveCell.Row, 31), Scroll:=True
End Sub

Praktische Beispiele

Nehmen wir an, du möchtest, dass beim Klicken auf einen Button der Fokus auf die Zelle A1 gesetzt wird. Der Code würde dann folgendermaßen aussehen:

Private Sub CommandButton1_Click()
    Range("A1").Select
    AppActivate (Title:=Application.Caption)
End Sub

Dieses Beispiel zeigt, wie du den Fokus zur Zelle A1 setzen kannst. Du kannst denselben Ansatz für jede Zelle verwenden, indem du den Bereich entsprechend anpasst.


Tipps für Profis

  • Verwende ActiveSheet in Kombination mit Cells, um sicherzustellen, dass du den Fokus auf die richtige Zelle im aktiven Arbeitsblatt setzt.
  • Teste deinen Code häufig, um sicherzustellen, dass der Fokus wie gewünscht funktioniert.
  • Nutze die vba gotfocus-Ereignisse, um zusätzliche Aktionen auszuführen, wenn der Fokus auf eine Zelle gesetzt wird.

FAQ: Häufige Fragen

1. Wie kann ich den Fokus auf eine Zelle setzen, ohne einen Button zu verwenden?
Du kannst den Fokus auch direkt über ein Makro setzen, das du manuell ausführst.

2. Funktioniert dieser Code in allen Excel-Versionen?
Ja, der Code sollte in den meisten modernen Excel-Versionen (Excel 2010 und neuer) funktionieren, solange VBA aktiviert ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige