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
204
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
- 843282
Kalasataman talossa lienee rakennusvirhe
Ei pitäisi olla mahdollista parvekkeen kautta tulipalon kiivetä katolle saakka kuin korkeintaan ylimmästä kerroksesta.1821319- 761314
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 lahjan2401040Kaipaatko nainen
Semmoista tosi hankalaa ja arkaa miestä? Pitäisitkö hänet aina omanasi jos saisit hänet? Miten huomioisit hänen herkkyyd103971Venäjä teki mahtavan iskun Kiovaan?
Miksi Ukraina ei kykene tekemään Moskovaan yhtä mahtavia iskuja.310942- 95857
- 43849
Milloin ymmärsit
Milloin tunnistit, että sinulle kirjoitetaan ja kuka kirjoittaa? Tarkka päivämäärä ja kellonaika 😉 Önnönnöö, jos ei os78835Nojatuoli !
Uutta kehiin, kun edellinen pikavauhtia täyttyi, pitäisikö kiittää näitä asian jouduttaneita? Pilvet leijaa, sadetta en124825