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.
Nuolinäppäinohjaus VBA:lla
5
205
Vastaukset
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
- 944620
Kalasataman talossa lienee rakennusvirhe
Ei pitäisi olla mahdollista parvekkeen kautta tulipalon kiivetä katolle saakka kuin korkeintaan ylimmästä kerroksesta.2251885- 761460
Kristillinen Kaste on syntisten kaste, ei itsensä uskoviksi julistaneiden kaste
Raamatun mukaan vain syntisyyden vuoksi kastetut saavat kasteen hyödyn, syntien anteeksisaamisen ja Pyhän Hengen lahjan2401160Venäjä teki mahtavan iskun Kiovaan?
Miksi Ukraina ei kykene tekemään Moskovaan yhtä mahtavia iskuja.3221095Kaipaatko nainen
Semmoista tosi hankalaa ja arkaa miestä? Pitäisitkö hänet aina omanasi jos saisit hänet? Miten huomioisit hänen herkkyyd1051070- 501069
Nojatuoli !
Uutta kehiin, kun edellinen pikavauhtia täyttyi, pitäisikö kiittää näitä asian jouduttaneita? Pilvet leijaa, sadetta en1471027- 1111009
Milloin ymmärsit
Milloin tunnistit, että sinulle kirjoitetaan ja kuka kirjoittaa? Tarkka päivämäärä ja kellonaika 😉 Önnönnöö, jos ei os85964