[Excel] CommandButton per Hoch-/Runtertasten auswählen?

Meca

Grünschnabel
Guten Tag,
Ich habe ein kleines Problem.
Bei einem Programm in Excel werden die Aktionen hauptsächlich durch eine Reihe von CommandButtons, die übereinander angeordnet sind, gesteuert.
Zurzeit ist es so das die Buttons per Maus angeklickt werden.
Das Programm ist allerdings eine Übungsvariante eines richtigen Arbeitsprogrammes.
Von daher wäre sinnvoll wenn die CommanButtons, wie im original, per Hoch- / Runtertaste ausgewählt werden, und per Enter-taste aktiviert/ausgelöst.
Problem an der ganzen Sache: ist ein Button markiert funktioniert kein Tastendruck mehr.
Aktiviere ich jedoch eine Zelle in der Tabelle, ist es wieder möglich Tasten zu nutzen.
(Ich benutze bereits die F1 und F4 Taste, dabei ist mir das Problem auch aufgefallen.)

Weis jemand wie ich es realisieren kann das ich die Buttons per Hoch-/Runtertaste auswähle und dann per Enter-Taste aktiviere?

SoLoNg und vielen Dank um voraus.
Meca
 
nimm ein button-array.
dann kannst du über button(index) auf die buttons zugreifen.

das solltest du so machen, da du dann ein event hast. und kannst dann halt onkeydown oä entscheiden was du machst.

pseudocode(weil kein bock selbst zu machen)

Code:
ladebuttons() 'dabei musst du die tab-reihenfolge richtig machen.

private sub buttons_onKeyDown(key as integer, index as integer)
      if key = CodeFürPfeilTasteHoch then
           buttons(index-1).GotFocus 'oder focus, programmiere fast nur noch .net ;)
      else if key = CodeFürPfeilTasteRunter then
           buttons(index+1).GotFocus
      end if
      ' vergiss nicht zu überprüfen, ob es index +(oder -) 1 gibt.
end sub

ich hoffe du hast das prinzip verstanden.
sobald ein button den focus hat, kannste glaub ich per return klicken.

gruß, adrian
 
Vielen Dank, ich werd's mal testen sofern ich wieder das Programm hier hab.
Ich schreib dann noch ob's funktioniert hat. :)
 
Ok, habe den Vorschlag übernommen, an das Programm angepasst und noch etwas verändert: Funktinoert einwandfrei, genau wie ich es wollte :D

Vielen Dank nochmal für die schnelle Hilfe :)

SoLoNg
Meca
 

Neue Beiträge

Zurück