Ich würde gerne wissen, ob es eine Tastenkombination gibt, um zur letzten Zelle in einer Zeile oder Spalte mit demselben Inhalt wie die aktuelle Zelle zu wechseln und diese auszuwählen. Strg + Pfeiltasten bewegen Sie also zum Rand des Datenarrays, aber ich möchte zum Rand eines Arrays mit demselben angezeigten Inhalt wechseln und idealerweise alles auswählen (also dieselben Ergebnisse, aber nicht unbedingt dieselbe Formel).
Ich habe beispielsweise eine Spalte mit 100 Zellen mit „1“, gefolgt von 100 Zellen mit „2“ und dann 100 Zellen mit „3“. Wenn ich eine der Zellen mit „2“ ausgewählt habe, wählt die Tastenkombination die letzte Zelle mit „2“ direkt vor der „3“ aus.
Es wäre toll, wenn sich die Antwort mit den Unterschieden zwischen dem angezeigten Ergebnis der Zellen und dem Inhalt der Zellen befassen könnte (d. h. die Zellen der Spalte, die „2“ anzeigen, enthalten tatsächlich Zellen mit der Angabe „=1+1“ und „=3-1“).
Antwort1
In Excel ist keine solche Funktion integriert, Sie könnten jedoch eine erstellen.
Tastenkombinationen für Excel 2010,Tastenkombinationen für Excel 2013,Excel Online-Tastaturkürzel
Um eine beliebige Tastenkombination zu simulieren, können Sie VBA mit demAnwendung.OnKeyMethode, um einem Makro eine Tastenkombination zuzuweisen. Die Idee ist wie folgt: Weisen Sie im Ereignis Workbook_Open den Makros Tastaturbefehle zu. Weisen Sie im Ereignis Workbook_BeforeClose denselben Befehlen nichts zu (auf Standard zurücksetzen). Schreiben Sie in einem Modul die Unterprogramme, die Sie für diese Tastaturbefehle ausführen möchten.
Wenn Sie jetzt die Arbeitsmappe öffnen, werden mit den von Ihnen ausgewählten Tastaturbefehlen Makros ausgeführt, die alles tun, was Sie möchten. Dies ist für viel mehr als nur zum Bewegen auf dem Blatt nützlich. In meinem Beispiel habe ich die Tasten STRG+D und STRG+U für „Runter“ und „Rauf“ zugewiesen, aber Sie wählen, was für Sie am sinnvollsten ist. Wenn Sie möchten, dass diese Tastaturbefehle für jede Datei funktionieren, ist die Prämisse dieselbe, außer dass Sie sie stattdessen in Ihrer persönlichen Makro-Arbeitsmappe speichern.
Ich kann nicht herausfinden, wie man Dateien anfügt, also hier der Code. (Beachten Sie, dass dieser Code grob und schnell ist. Ich wollte das einfachste Beispiel, nicht den robustesten Code.)
Im Objekt „ThisWorkbook“:
Private Sub Workbook_Open()
Application.OnKey "^d", "findLastOfThis"
Application.OnKey "^u", "findFirstOfThis"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "^d"
Application.OnKey "^u"
End Sub
In einem Modul:
Option Explicit
Private Sub findLastOfThis()
Dim val As Variant
Dim r As Long, c As Long
val = ActiveCell.Value
c = ActiveCell.Column
For r = ActiveCell.Row To ActiveSheet.UsedRange.Rows.Count
If Cells(r, c).Value <> val Then Exit For
Next
r = r - 1
Cells(r, c).Activate
End Sub
Private Sub findFirstOfThis()
Dim val As Variant
Dim r As Long, c As Long
val = ActiveCell.Value
c = ActiveCell.Column
For r = ActiveCell.Row To 1 Step -1
If Cells(r, c).Value <> val Then Exit For
Next
r = r + 1
Cells(r, c).Activate
End Sub