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
197
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
Työeläkeloisinta Suomen suurin talousongelma
Työeläkeloisinta maksaa vuodessa lähes 40 miljardia euroa, josta reilut 28 miljardia on pois palkansaajien ostovoimasta.1492013Israel euroviisujen 2.
Israel sai taas eniten yleisöääniä. Suomesta täydet 12 pistettä, poliittinen ”ammattiraati” antoi 0 pistettä. Hyvä Is3051717- 931557
Mun mielestäni on tosi loukkaavaa
Nainen, että luulet palatan typeriä, sekavia ja ilkeitä viestejä mun kirjoittamiksi. Mä en ole katkera, epätoivoinen, ra2001200Euroviisut ei enää niin musiikkikilpailu?
Kappaleiden taso ei enää ole mikä sijoituksen ratkaisee.Eikö kukaan ihmettele että Israel pärjää lähes joka vuosi kisois761182- 671140
- 231048
- 48997
Rakas nainen ymmärsin
Että minun pitää pitää kiinni sinusta. Haluan, että sä olet onnellinen. Olet mulle se oikea ja mä sulle. Rakastan Sua yl73946- 45927