Nuolinäppäinohjaus VBA:lla

Worra

Millä koodinpätkällä saadaan nuolinäppäimet määriteltyä tekemään jotain tapahtumaa? Esim. NuoliYlös-painallus aiheuttaa tietyn tapahtuman jne. Normistihan nuolinäppäimillä Excell-taulukon soluvalinta liikkuu, eli normikäytös pois ja tilalle oma koodi.

5

70

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • taulukon moduuliin...

      Option Explicit

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Application.OnKey "{RIGHT}", "Oikealle"
      Application.OnKey "{LEFT}", "Vasemmalle"
      Application.OnKey "{UP}", "Ylös"
      Application.OnKey "{DOWN}", "Alas"
      End Sub

      tavalliseen moduuliin...(koodin pätkät resetoinnille ja käytöstä poistoon kanssa)

      Option Explicit

      Sub Oikealle()
      MsgBox "oikealle"
      End Sub
      Sub VAsemmalle()
      MsgBox "vasemmalle"
      End Sub
      Sub Ylös()
      MsgBox "ylös"
      End Sub
      Sub Alas()
      MsgBox "alas"
      End Sub
      Sub Poistaakäytöstä()
      Application.OnKey "{RIGHT}", ""
      Application.OnKey "{LEFT}", ""
      Application.OnKey "{UP}", ""
      Application.OnKey "{DOWN}", ""
      End Sub
      Sub Resetoi()
      Application.OnKey "{RIGHT}"
      Application.OnKey "{LEFT}"
      Application.OnKey "{UP}"
      Application.OnKey "{DOWN}"
      End Sub

      Keep EXCELing
      @Kunde

      • Worra

        Kiitos! Hetken sovellettuani koodia se toimii juuri kuten halusin. :)


      • Worra
        Worra kirjoitti:

        Kiitos! Hetken sovellettuani koodia se toimii juuri kuten halusin. :)

        Lisään vielä.. soluvalinta liikahtaa kerran ennenkuin omat nuoliohjaukset alkavat toimimaan, mutta kun resetointikoodiin lisää esim.

        ActiveSheet.Range("A1").Select

        niin nuolinäppäimet pelittävät heti ekasta painalluksesta omalla koodilla. "A1" paikalla voi tietty olla mikä muu solu tahansa.


    • Worra

      Ettei lisäykset lopu ..

      Soluvalinta täytyykin tehdä kahdesti, että nuolet pelittää heti, eli esim..

      ActiveSheet.Range("B1").Select

      ActiveSheet.Range("A1").Select

    • ei tartte kikkailla kun lisäät

      ThisWorkbook moduuliin...

      Sub Auto_Open()
      Application.OnKey "{RIGHT}", "Oikealle"
      Application.OnKey "{LEFT}", "Vasemmalle"
      Application.OnKey "{UP}", "Ylös"
      Application.OnKey "{DOWN}", "Alas"
      End Sub

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Takaisin ylös

    Luetuimmat keskustelut

    1. Ukrainan ulkoministeri: Moskova aistii tappion Ukrainassa

      Dmytro Kuleban mukaan Venäjä yrittää puheillaan pelotella länsimaita. Ukrainan ulkoministerin Dmytro Kuleban mukaan Venäjän esittämät varoitukset kol
      NATO
      261
      4178
    2. Stefu haikailee

      Julkaisi stooreissa kuvan vickestä. Sitten Martinasta treenaamassa Hangossa ulkona. Hmm.
      Kotimaiset julkkisjuorut
      264
      3408
    3. Harmi mies ettet arvostanut

      Minua tarpeeksi. Myöhemmin kaikki olisi palkittu ja olisin antanut sinulle aitoa rakkautta. Tämä sattuu mutta yritän ajatella, että ehkä se rakkaus ku
      Ikävä
      154
      1777
    4. Oi! Legandaarinen Vesa-Matti "Vesku" Loiri, 77, poseeraa kahdessa eri kuvassa - Some riemastui!

      Vesa-Matti "Vesku" Loiri on kyllä legenda jo eläessään. Hienoa nähdä, että virtaa piisaa. Voimia, iloa ja eloa, Vesku! https://www.suomi24.fi/viihde
      Suomalaiset julkkikset
      25
      1634
    5. Lavrov väläyttelee WW3:sta

      Venäjän ulkoministeri Sergei Lavrov varoittaa, että kolmannen maailmansodan uhka on todellinen. Lavrov sanoi venäläiselle uutistoimisto Interfaxille,
      Maailman menoa
      296
      1413
    6. Ketä Sofia fanit veikkaatte seuraavaksi lompakoksi?

      Kenestä Sofia höynäyttää itselleen seuraavan lompakon?
      Kotimaiset julkkisjuorut
      132
      919
    7. Voiko hyvää omatuntoa ostaa?

      Olen tässä nyt muutaman päivän paininut erään rahaan liittyvän pulman kanssa. Kerron ensin vähän taustaa ... Eli erosin 15 vuoden parisuhteesta 9 vuo
      Sinkut
      235
      853
    8. en vaan saa häntä pois

      Mielestäni pyörimästä. Onko kellekään toiselle käynyt näin? Ihastuin pakkomielteisesti noin vuosi sitten erääseen naiseen. Ei vaan katoa mielestä va
      Ikävä
      115
      817
    9. Suomi24 kysely: ihmisten kuplautumista ei pääosin koeta vakavaksi ongelmaksi

      “Kuplautumista on mahdotonta estää. Ihmiset ovat aina viihtyneet samankaltaiset arvot ja maailmankatsomuksen jakavassa seurassa ja muodostaneet sen pe
      Suomi24 Blogi ★
      17
      780
    Aihe