VBA SendKeys

Excel VBA SendKeys

SendKeys på VBA- språk är en metod som används för att skicka tangenttryckningar till det aktiva fönstret så att vi kan arbeta manuellt efter det. När vi använder alfabet som nycklar måste alla alfabet ha små bokstäver. Det är en komplex metod och rekommenderas att endast använda om det behövs och när du inte har några alternativ

“SendKeys” är ett av de komplexa ämnena att förstå. Inte många av oss använder den här funktionen i VBA men det är alltid bra att ha mer kunskap om fler ämnen. I den här artikeln visar vi dig hur du använder SendKeys-funktionen. Det kan vara svårt att läsa om artikeln flera gånger med en praktisk metod för att lära dig snabbt och bättre.

Syntax

Nedan är syntaxen för vba SendKeys-metoden.

Nycklar eller sträng: Den typ av nyckel som vi behöver skicka till den aktiva applikationen.

Vänta: I det här argumentet kan vi använda två saker, dvs. SANT eller FALSKT

  • SANT om du vill att excel ska vänta på att de tilldelade tangenterna ska behandlas innan du har kontrollen tillbaka till makrot.
  • FALSE om du ignorerar Vänta- parametern kommer detta att vara standardvärdet. Om du väljer FALSE fortsätter excel att köra makrot utan att vänta på att tangenterna ska bearbetas till det aktiva fönstret.

De vanliga tangenterna vi använder med tangentbordet är "Ctrl, Shift och ALT" . Så med SendKeys-metoden måste vi använda dem med specialtecken, nedanstående tabell visar specialtecken för ovanstående tre vanliga tangenter.

Andra tangenter har olika nycklar och tecken, nedanstående tabell visar den detaljerade förklaringen för varje tangent.

Enligt kravet kan vi använda någon av ovanstående nycklar. Med några praktiska exempel visar vi hur du använder SendKeys.

Exempel för att använda Excel VBA SendKeys Method

Du kan ladda ner denna VBA SendKeys Excel-mall här - VBA SendKeys Excel-mall

Exempel nr 1

Titta till exempel på cellvärdet nedan.

Vi har värden i tre celler och i den första cellen har vi värdet "Bangalore" och för denna cell finns det en kommentar som "Karnatakas huvudstad".

Nu med hjälp av “SendKeys” försöker vi redigera den här kommentaren.

Öppna Excel-ark och gå till Visual Basic Editor, starta VBA-delproceduren.

Koda:

 Sub Send_Keys_Example () Avsluta Sub 

Först måste vi välja kommentarcellen för att redigera kommentaren. Så använd koden RANGE (“A1”) Välj

Koda:

 Sub Send_Keys_Example () Range ("A1") Välj End Sub 

När cellen väljs kommer vi att utföra åtgärden för att redigera kommentarerna. Här måste vi komma ihåg kortkommandot som vi använder för att redigera kommentaren.

För att redigera kommentaren använder vi snabbtangenten ”Skift + F2” .

Om du trycker på den här knappen kommer kommentaren att redigeras.

Öppna nu metoden “SendKeys”.

I SendKeys-metoden är tecknet för att använda SHIFT-tangenten “+” (plustecken) så ange “+” inloggningskod.

Nu fungerar plustecknet som en SKIFT-tangent, nästa tangent tillsammans med SKIFT som vi använder är F2-tangenten. Närhelst vi använder funktionstangenter måste vi stänga dem med lockiga parenteser, så skriv in funktionstangenten F2 i den lockiga parentesen.

Koda:

 Sub Send_Keys_Example () Range ("A1"). Välj SendKeys "+ {F2}" End Sub 

Kör nu koden och se vad vi får.

När vi försöker köra koden fick vi meddelandet enligt ovan. En av de viktigaste sakerna, vi måste komma ihåg är att vi inte kan köra makrot som använder “SendKeys” från det visuella grundläggande redigeringsfönstret.

Vi måste köra koden från listan "Makro".

Stäng fönstret Visual Basic Editor först.

Gå till fliken "Utvecklare" och klicka på "Makro".

Nu öppnas en lista över alla makron, välj det makro du behöver köra. Vårt makronamn är "Send_Keys_Example" så jag slår på kör-knappen.

Du kan se att alternativet Redigera kommentar är aktiverat.

Som du kan se ovan har den tilldelat genvägsknappen för SHIFT + F2 för att öppna redigeringskommentaralternativet.

Exempel 2

Om du till exempel vill öppna fönstret "Klistra in special" genom SendKeys-metoden kan vi också göra detta. Först måste vi kopiera vissa celler och sedan använda SendKeys.

Koda:

 Sub Send_Keys_Example1 () Range ("A1"). Kopiera SendKeys "% es" End Sub 

Välj det makro som du behöver köra och klicka sedan på Kör.

När du kör koden öppnas den under klistra in en särskild dialogruta.

Saker att komma ihåg

  • SendKeys tilldelar tangenttryckningar till den aktiva applikationen.
  • Den här metoden är så komplicerad och rekommenderar att den endast används om det behövs och när du inte har några alternativ.
  • När vi använder alfabet som nycklar måste alla alfabet ha små bokstäver.