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

219

    Vastaukset 5

    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ä.

    Luetuimmat keskustelut

    1. Mitä tapahtuu?

      Mitä tapahtuu Humalojalla? Poliiseja talon ympärillä ja paljon ihmisiä pitkin pihoja???
      Haapavesi
      61
      2702
    2. Miksi et lähesty minua

      Jos kerran kaipaat, mies? Mitä pelkäät?
      Ikävä
      119
      1426
    3. Mitä nyt haluaisit kysyä kaivatultasi?

      Tässä hetkessä tai menneestä?
      Ikävä
      136
      1196
    4. Mikä hänessä

      Saa sut kuumaksi?
      Ikävä
      77
      1124
    5. Olen vähän epävarma siitä, oletko kiltti

      Nainen, ensivaikutelma oli, että olet tosi hyväsydäminen eli siinä mielessä harvinaisuus. Eli et mene virran mukana, etk
      Ikävä
      89
      1033
    6. Kuka om uusi kylän mies?

      Ajelee polkupyörällä. Vaalea, melkein kalju. Ilmestyi katukuvaan tänä kesänä. Viettää aikaa kauppojen tuulikaapeissa. Ku
      Suomussalmi
      23
      981
    7. oot mun silmissä

      Vain äärettömän nolo. Anna olla jo 😂
      Ikävä
      124
      854
    8. Henkilöauto ajoi puuhun Suomussalmella

      Henkilöauto ajoi puuhun Suomussalmen torin laitamilla. Poliisi epäilee tutkivansa tapausta. Silminnäkijä
      Suomussalmi
      28
      842
    9. Taidan olla pelkuri

      Kun en uskalla edes kysyä sulta 😳
      Ikävä
      33
      754
    10. Kattoikkuna puuttui - vai puuttuiko sittenkään?

      Tönölään ei saatu mökkejä, kun kattoikkunasta oli pula. Näyttää konkurssihakemus tulleen kuitenkin 31.8., joten kattoikk
      Kuhmo
      19
      715
    Aihe