Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

gesucht: spez. Tastenkombis für Zellnavigation ...

gesucht: spez. Tastenkombis für Zellnavigation ...
12.08.2018 19:19:00
neopa
Hallo @all,
seit einiger Zeit helfe ich einem erst im Erwachsenenalter Erblindeten bei der Handhabung einer Excelarbeitsmappe, die er für seine Tätigkeit benötigt. Hilfreich für ihn wäre eine möglichst einfache schnelle gezielte Navigation innerhalb eines Tabellenblattes und dies natürlich ausschließlich nur mit Tastaturkombination(en).
Als Sehender nutze ich dazu - mit Hilfe der Maus - das Eingabefeld links neben der Eingabezeile, wo auch die jeweils aktuell aktivierte Zelladresse angezeigt wird (wie nennt man denn diese korrekt?) Doch wie kann sich ein Blinder helfen? In der MSO-Hilfe unter "Tastenkombination" habe ich bisher nichts derartiges gefunden. Muss aber nicht heißen, dass es solche nicht gibt.
Aber da ich schon nicht die korrekte Bezeichnung des bezeichneten Information-/Eingabefeldes für Zelladressen kenne, stocherte ich bisher auch im Internet etwas ziellos und damit auch erfolglos herum.
Hilfreich für (m)einen Erblindeten Bekannten wäre es, er könnte mit einer Tastenkombination zu einer (ihm jeweils bekannten) Zelladresse springen, sich dessen Inhalt anzeigen lassen und ideal wäre es, er käme danach mit einer weiteren Tastaturkombination schnell zurück zur unmittelbar vorher aktiven Zelle.
Gibt es so etwas? Wer kennt sich da aus? Wer kann helfen?
Gruß Werner
.. , - ...

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Alt + F3
12.08.2018 19:25:16
Matthias
Hallo Werner
Mit Alt + F3 aktivierst Du dieses Eingabefeld
dann Zelladresse eingeben.
Mit dem Zurückspringen vermute ich mal nur mit VBA (bin aber nicht sicher)
Gruß Matthias
AW: das geht bei mir (XL 2010) leider nicht owT
12.08.2018 20:08:46
neopa
Gruß Werner
.. , - ...
oder F5 dann Adresse + Enter owT
12.08.2018 19:27:59
Matthias
AW: danke, das geht! Damit Teil 1 gelöst :-) owT
12.08.2018 20:09:21
neopa
Gruß Werner
.. , - ...
Für Teil 2...
13.08.2018 10:16:07
{Boris}
Hi Werner,
...ein VBA-Beispiel:
In ein allgemeines Modul:

Public strOld As String
Sub zurueck_zur_vorherigen_Zelle()
If Len(strOld) Then
Range(strOld).Select
End If
End Sub
...und eine Tastenkombi zuweisen - z.B. Strg+q.
Und als Ergeigniscode in das Klassenmodul des entsprechende Tabellenblattes:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(0, 0)  "C17" Then 'C17 ist die Zelle, zu der mit F5 + Zelladresse  _
gesprungen wird
strOld = Target.Address(0, 0)
End If
End Sub
VG, Boris
Anzeige
AW: Deinen ersten Hilfeteil ...
13.08.2018 10:46:56
neopa
Hallo Boris,
... kann ich als VBA-Laie ja noch einigermaßen nachvollziehen. Danke.
Aber für die entscheidende Realisierung Deines gesamten Lösungsangebotes, fehlt es mir offensichtlich an zu vielen VBA-Grundlagen, um dies entsprechend funktionsfähig zu realisieren. Könntest Du (D)eine kleine Testdatei einstellen, wo ich Dein Lösungsangebot nachvollziehen kann? Würde mich freuen.
Gruß Werner
.. , - ...
Kann hier gerade nichts hochladen...
13.08.2018 11:27:51
{Boris}
Hi Werner,
Beispieldatei geht technisch grad nicht.
Einfügen - Modul = Allgemeines Modul.
Da diesen Code rein:

Public strOld As String
Sub zurueck_zur_vorherigen_Zelle()
If Len(strOld) Then
Range(strOld).Select
End If
End Sub
Die Klassenmodule der Mappe sind in der Regel:
DieseArbeitsmappe
Tabelle1
Tabelle2
Tabelle3
Wenn das alles z.B. in Tabelle1 passiert, dann Doppelklick auf Tabelle1 und den Code da rein kopieren:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address(0, 0)  "C17" Then 'C17 ist die Zelle, zu der mit F5 + Zelladresse  _
gesprungen wird
strOld = Target.Address(0, 0)
End If
End Sub
Anschließend über "Entwicklertools-Makros-Optionen" die Tastenkombi Strg+q dem Makro zurueck_zur_vorherigen_Zelle() zuweisen.
VG, Boris
Anzeige
AW: nachgefragt ...
13.08.2018 11:46:00
neopa
Hallo Boris,
... zunächst danke für Deine noch ausführlichere Darstellung.
Mein Problem ist noch, wie übermittelt man Deinen Klassenmodul, die Zelladresse in der man steht, unmittelbar bevor man die [F5]-Taste betätigt und die Zieladresse angibt. Dies wird natürlich immer verschieden sein.
Gruß Werner
.. , - ...
Probier`s doch einfach mal aus... ;-)
13.08.2018 11:56:48
{Boris}
Hi Werner,
...dafür gibt es die Public-Variable
Public strOld As String
Darin wird die Zelladresse gespeichert und bei Bedarf wieder abgerufen, um angesteuert zu werden (mit Strg+q).
VG, Boris
AW: hatte ich schon getan, doch ...
13.08.2018 12:25:35
neopa
Hallo Boris,
... als VBA-Laie weiß ich wirklich nicht, was wie in

If Target.Address(0, 0)  "C17" 
anstelle "C17" geschrieben werden muss, damit ich auch in eine beliebige andere Zelladresse hin und aus dieser zurück springen kann. Meine kläglich gescheiterten Versuche erspare ich Dir hier lieber.
Gruß Werner
.. , - ...
Anzeige
C17...
13.08.2018 12:48:47
{Boris}
Hi Werner,
...ist die Zelle, die bewusst mit F5, Zelleingabe und Enter angesteuert wird.
Wenn es mehrere dieser Zelladressen gibt, dann muss diese Abfrage auf alle diese Adressen erweitert werden - dafür gibt es in folgendem Beispiel die Konstante STR_ALL. Darin sind alle fraglichen Zelladressen versammelt (im Beispiel 3 Stück) - wichtig: Mit , am Anfang und am Ende.
Also nimm dann diesen Code für das Klassenmodul (Tabelle1 oder wielche auch immer bei Dir):
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Const STR_ALL As String = ",C17,F13,I10,"
If InStr(STR_ALL, "," & Target.Address(0, 0) & ",") = 0 Then
strOld = Target.Address(0, 0)
End If
End Sub
VG, Boris
Anzeige
AW: gibt es eine "allgemeinere" Lösung ? ...
13.08.2018 13:21:59
neopa
Hallo Boris,
... denn bei der von Dir aufgezeigte müsste ich viel zu viele Zelladressen angeben, um den Anforderungen
meines Bekannten gerecht zu werden.
In meiner laienhaften Vorstellung hätte ich mir nämlich folgendes vorgestellt:
Mit Aufruf der [F5]-Taste wird durch ein entsprechendes "Ereignismakro", nur die aktuell aktive Zelladresse für Dein Rücksprungmodul gespeichert. Möglicherweise muss dazu aber die Aktion, die über [F5] standardmäßig ausgelöst wird, durch ein analoges kleines Makro ersetzt werden, weil es da leichter sein könnte, die gerade aktuell aktive Zelladresse entsprechend zu bunkern. Oder?
Gruß Werner
.. , - ...
Anzeige
Die gibt es, aber ich frag mich warum?...
13.08.2018 14:18:45
EtoPHG
Hallo Werner,
Die Funktionalität zur vorherigen (zeitlich) Zelle zurückzuspringen gibt es nirgends als Standard. Darum geht eine solche Anforderung über die Standard-Navigations-Möglichkeiten von Excel hinaus.
Auch als nicht Sehbehinderter weiss ich oft nicht mehr, woher ich auf eine Zelle 'gesprungen' bin und muss mich u.U. wieder 'Home' begeben und von neu anfangen zu navigieren.
Probier es mal so:
Code in DieseArbeitsmappe:
Option Explicit
Private Sub Workbook_Open()
Set PrevCell = ActiveCell
Set thisCell = ActiveCell
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Set PrevCell = thisCell
Set thisCell = Target
End Sub

Code in ein allgemeines Modul (und z.B. Strg-q als Kontrolltaste, s.oben)
Option Explicit
Public thisCell As Range
Public PrevCell As Range
Sub back2PrevCell()
If Not PrevCell Is Nothing Then
Application.Goto PrevCell
Set PrevCell = thisCell
End If
End Sub
Mappe als xlsm sichern und neu öffnen, ab dann sollte es (einigermassen) klappen.
Diese Codes müssten in jede Mappe kopiert werden, für die dieses Verhalten gewünscht ist.
Das hat den grossen Nachteil, dass all diese Mappen als Makromappen gesichert werden müssen.
Oder man könnte ein AddIn schreiben, dass mit Excel geladen wird und für alle zu öffnenden Mappen gilt.
Gruess Hansueli
Anzeige
AW: das haben ich/wir gesucht, Danke! ...
13.08.2018 14:55:33
neopa
Hallo Hansuseli,
... meine ersten Tests Deiner Lösung waren erfolgreich. Vielen Dank Dir, aber auch an Matthias, Günther und Boris.
Zu Deiner Frage in Deinem Betreff: Diese ist für mich mittlerweile leicht zu beantworten. Wir als Sehende überblicken schnell und leicht was z.B. 5 Zellen links oder 3 Zellen oberhalb für ein Wert steht, ohne deswegen auch nur die Maus oder die tasturtatur berühren zu müssen.
Ein Blinder muss sich dagegen erst durch Tastaturaktionen in die entsprechende Zelle begeben, um sich dann dessen Inhalt auslesen zu lassen, weil er z.B. nicht mehr genau weiß, was da steht, es aber für seine Entscheidung in der aktuellen Zelle wichtig ist bzw. sein könnte.
Nachdem er sich dessen Inhalt vergewissert hat, will er natürlich sofort wieder zurück.
Bisher ging das für ihn nur sehr mühselig über Einzelschritte. Nun aber kann er sich schneller "orientieren".
Die Dragon-Software kann das möglicherweise, nein sicherlich auch, aber diese muss sich auch halt erst einmal anschaffen, installieren und sich damit vertraut machen.
Gruß Werner
.. , - ...
Anzeige
Nein, die Dragon-Software kann das auch nicht!...
13.08.2018 15:06:01
EtoPHG
Werner,
Es gibt dort gesprochene Befehle, wie "Vorherige Zelle", aber damit ist Zelle links der aktiven Zelle gemeint und nicht die zeitlich, vorherig Gewählte!
Im Übrigen: Achtung vor meinem Code! Er wird in Fehler laufen, wenn z.B. ein Diagrammblatt aktiviert wird. Da müsste ich noch einiges an Arbeit reinstecken, um alle Eventualitäten abzudecken.
Gruess Hansueli
AW: interessant ...und ...
13.08.2018 15:18:47
neopa
Hallo Hansuseli,
... da kann man wieder mal feststellen, was schon mit Excel und VBA alles möglich ist.
Danke für Deinen Hinweis auf eine möglichen Fehler. Aber Diagramme sind mW in dessen Excelarbeitsmappe nicht vorhanden, so dass Du unsertwegen Dir die Mühe auf eine bessere Absicherung nicht machen müsstest.
Gruß Werner
.. , - ...
Anzeige
VBA Variante ...
12.08.2018 19:41:54
Matthias
Hallo
Ich weiß zwar, das Du VBA nicht verwenden willst.
Aber um die Zelladresse beim Anklicken auszugeben kann man das auch so machen:
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim objSpeaker As Object
Set objSpeaker = CreateObject("SAPI.SpVoice")
objSpeaker.Volume = 100
objSpeaker.Speak ActiveCell.Address(0, 0)
End Sub

Oder evtl. besser so:
objSpeaker.Speak "Die Zelle  " & ActiveCell.Address(0, 0) & "  ist aktiv"
Code gehört ins entsprechende Tabellenblatt
Gruß Matthias
Anzeige
AW: hierzu ...
12.08.2018 20:10:55
neopa
Hallo Matthias,
... dieses Makro ist nicht notwendig, da er schon eine entsprechende Hilfs-Software hat, wo ihm angesagt wird, in welcher Zelle er sich befindet und was darin steht.
Ich kann erst am Dienstag wieder mit meinem Bekannten sprechen, ob Dein erster Lösungsteil (mit F5) zu meiner Fragestellung ihm evtl. schon ausreichend wäre.
Aber erst einmal vielen Dank für Deine Hilfe.
Gruß Werner
.. , - ...
AW: gesucht: spez. Tastenkombis für Zellnavigation ...
12.08.2018 19:42:10
Günther
Moin Werner,
in einem der "großen" Excel-Foren gibt es einen Fragesteller, der wegen einer Behinderung nicht tippen kann sondern mit einem Programm (Dragon naturally speaking) den Text auf den Bildschirm bringt. Dem Vernehmen nach soll das auch mit Excel und den entsprechenden Befehlen recht gut funktionieren. Es gibt auch so etwas wie eine Trial: https://www.nuance.com/de-de/dragon/dragon-for-pc/dragon-premium-free-trial.html und einige Hinweise des Herstellers zu den Sprach-Befehlen für Excel gibt es hier: https://www.nuance.com/products/help/dragon/dragon-for-pc/deu/professionalindividual/main/Content/CommandandControl/excel_working_with_cell_content.htm.
Aber bitte während der "Probezeit" GRÜNDLICH checken, ob alles wie gewünscht läuft.Manche Konstellationen laufen alles andere als rund ...
Gruß
Günther
AW: das muss ich mir in Ruhe anschauen ...
12.08.2018 20:12:26
neopa
Hallo Günther,
... Dir vielen Dank für Deine Links und Deine Hinweise.
Gruß Werner
.. , - ...

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige