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
170
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
Kuolemanrangaistus
Mielestäni kuolemanrangaistus on väärin kaikissa tilanteissa. Vaikka joku olisi murhannut 10 ihmistä, hänen surmaaminen866005Muistakaa persut, että TE petitte, ei kokoomus
Miksikö kukaan ei arvostele kokoomusta? No sen vuoksi, että kokoomus noudattaa vaalilupauksiaan. Sen sijaan TE persut,3015322Riikka Purra ei estä tehomaksun käyttöönottoa
Sähkön hinnoittelua koskevan määräyksen on määrä astua voimaan vuoden 2029 alusta, Energiavirastosta kerrotaan. Määräyk503345Lopetan ikävöinnin
Ei meistä enää koskaan tule mitään. Olen ikävöinyt ja kaivannut enkä saa mitään vastakaikua ja lämpöä. Parempi erillään102916Outo ilmiö - vasemmistolaiset eivät kirjoita mitään kokoomuksesta
joka sentään johtaa hallitusta, ja jonka talouspolitiikkaa noudatetaan. Nämä muutamat vasemmistolaiset jotka täällä aina1062729Jos kaikki lopulta kuolevat, onko edes pahimmillakaan rikoksilla mitään väliä?
Kaikki kuolevat lopulta. Siksi ihmisten tekemillä rikoksillakaan ei lopulta ole mitään merkitystä. Joidenkin mielestä t41675Väestöstä vain vassarit vaihtuvat nopeammin kuin persut
Kevääseen 2023 verrattuna vassareita 50 prosenttia enemmän, ja persuja 25 prosenttia vähemmän.171598Sinä olet minun forEver
Sinä olet minun sielussain, sydämessäin, huulillain, sinä olet ain, Sinä olet vieressäin, kainalossain, sylissäin, ain,211520Vihervassarit
Vihervassarit sitä, vihervassarit tätä. Minulla on paha mt-ongelma. Se tuli lobotomian jälkioireina. Vihervassarit tät321459Mies joka vetäytyy osoittaa teoillaan
Ettei halua olla tekemisissä. Mies joka ei vastaa viesteihin, ei halua sua. Mies joka jättää sut epätietoisuuteen, ei1781094