PNG32 PNG32 PNG32 PNG32
PNG32
Forum Excel, VBA, VSTO, Exceltips, Excelhj�lp PNG32 drivs av Excelspecialisten    Logga in     English
PNG32
PNG32 PNG32
PNG32

Logga in

PNG32

Du är inte inloggad. Logga in eller registrera dig för att skriva inlägg eller svara på inlägg.

För frågor om forumet, kontakta oss på webmaster@excelforum.se

PNG32 PNG32
PNG32 PNG32
PNG32

Excelforum

PNG32

 
ForumForumDiskussionerDiskussionerExcelExcelTabfunktion vid infogade textboxarTabfunktion vid infogade textboxar
Föregående Föregående
 
Nästa Nästa
Nytt inlägg
 2023-12-17 14:32
 

 Jag har ett formulär med ett antal textboxar inlagda. När man fyllt i första boxen vill jag med tab kunna gå till nästa. Formuläret är låst men textboxarna är öppna. Går det att göra?

Nytt inlägg
 2023-12-17 14:56
 
 Ändrad av Gondi  på 2023-12-17 17:23:23

Hej short,

Lite frågor,

  1. är detta en Excel- eller en Word-fråga? (tänkte bara påminna om att detta primärt är ett forum för Excelfrågor... ;-)
  2. vilken version av Excel/Word använder du?
  3. vad är det för typ av textboxar? Det finns nämligen två olika (Formulär- och ActiveX-kontroll) i Excel och Formulär-, ActiveX samt två olika (Plain text samt Rich text)  innehållskontroller, totalt fyra stycken, i Word.
  4. kan du infoga ett skärmklipp skulle det underlätta.

Önskar dig en trevlig 3:e Advent

Nytt inlägg
 2023-12-18 04:59
 

 Det är Ecxel närmare bestämt 365 för affärsverksamhet version 2311. Textboxen är en Active X. Rutan Behov av övrigt är en textbox. Kalkyl personalresurser är vanliga celler. Totalt är det åtta textboxar.

 

 

Nytt inlägg
 2023-12-18 09:47
 

Hej short och tack för den detaljerade återkopplingen,

I motsats till Word kan man i Excel tyvärr inte navigera mellan olika kontroller med tangentbordet.

Det går däremot att skriva lite kod i VBA som "fångar" upp vilken tangent man tryckt ned och ändrar fokus till önskat element. Alternativt kan man skapa hela formuläret direkt i ett VBA UserForm där man har full kontroll över alla kontroller.

Men det finns som sagt tyvärr ingen helt kodfri lösning på ditt problem som kan sparas i ett vanligt .xlsx dokument och öppnas på samtliga plattformar.

Nytt inlägg
 2023-12-18 18:07
 

 Jag skulle kunna lägga in koden men jag får inte ihop koden.

Nytt inlägg
 2023-12-19 05:38
 
 Ändrad av Gondi  på 2023-12-19 12:12:34

God morgon short,

Du kan använda koden längst ner i posten för att navigera mellan ActiveX textkontroller på ett och samma arbetsblad. Koden förutsätter att textrutorna har namnen TextBox1 t.o.m. TextBox8, vilket är standardnamnen. Har du bytt namn på textrutorna får du ändra i koden.

Om textrutorna finnas på Blad1 i Excel öppnar du VBA-editorn med ALT+F11 och klistrar in koden enligt nedan.

Lathund

TAB flyttar fokus till nästa textruta

SHIFT+TAB flyttar fokus till föregående textruta

CTRL+TAB infogar ett tab-tecken i den aktiva textrutan (ActiveX standardbeteende)

CTRL+ENTER infogar en manuell radbrytning i den aktiva textrutan (ActiveX standardbeteende)

Skydda arbetsblad

Observera att skydda arbetsbladet inte påverkar ActiveX kontroller för de är inte en del av cellområdet på arbetsbladet. Det kommer gå att skriva i textrutorna så länge attributet TextBox[1-8].Enabled = True. Vill du skrivskydda vissa textrutor måste du ändra attributet till Enabled = False i egenskapsfönstret. Alternativt om du kopplar textrutan till en cell på arbetsbladet så kommer skydd av arbetsbladet att förhindra uppdateringar. Dock kan man av någon anledning alltid skriva in ett tecken innan felmeddelandet dyker upp, så arbetsbladsskyddet är inte 100% tillförlitligt tillsammans med ActiveX-kontroller.

VBA Kod

Option Explicit 

' Code to navigate between ActiveX TextBox1-8 controls on the current worksheet. 

' TAB:          moves focus to the next textbox control 

' SHIFT+TAB:    moves focus to the previous textbox control 

' CTRL+TAB:     inserts a tab character (ASCII 9) in the active textbox 

' CTRL+ENTER:   inserts a line feed character (ASCII 10) in the active textbox 

 

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 

    If KeyCode = 9 And Shift = 0 Then TextBox2.Activate 

    If KeyCode = 9 And Shift = 1 Then TextBox8.Activate 

End Sub 

 

Private Sub TextBox2_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 

    If KeyCode = 9 And Shift = 0 Then TextBox3.Activate 

    If KeyCode = 9 And Shift = 1 Then TextBox1.Activate 

End Sub 

 

Private Sub TextBox3_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 

    If KeyCode = 9 And Shift = 0 Then TextBox4.Activate 

    If KeyCode = 9 And Shift = 1 Then TextBox2.Activate 

End Sub 

 

Private Sub TextBox4_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 

    If KeyCode = 9 And Shift = 0 Then TextBox5.Activate 

    If KeyCode = 9 And Shift = 1 Then TextBox3.Activate 

End Sub 

 

Private Sub TextBox5_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 

    If KeyCode = 9 And Shift = 0 Then TextBox6.Activate 

    If KeyCode = 9 And Shift = 1 Then TextBox4.Activate 

End Sub 

 

Private Sub TextBox6_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 

    If KeyCode = 9 And Shift = 0 Then TextBox7.Activate 

    If KeyCode = 9 And Shift = 1 Then TextBox5.Activate 

End Sub 

 

Private Sub TextBox7_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 

    If KeyCode = 9 And Shift = 0 Then TextBox8.Activate 

    If KeyCode = 9 And Shift = 1 Then TextBox6.Activate 

End Sub 

 

Private Sub TextBox8_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer) 

    If KeyCode = 9 And Shift = 0 Then TextBox1.Activate 

    If KeyCode = 9 And Shift = 1 Then TextBox7.Activate 

End Sub

Föregående Föregående
 
Nästa Nästa
ForumForumDiskussionerDiskussionerExcelExcelTabfunktion vid infogade textboxarTabfunktion vid infogade textboxar

PNG32 PNG32
Excelforum drivs av Excelspecialisten som bedriver utbildning i Excel och VBA, tillhandahåller support och hjälp med Excel, utvecklar program i Excel. Är ni i behov av en konsult inom Excel, VBA eller VSTO, eller söker en excelkurs, kontakta oss.
Copyright 2013 ExcelSpecialisten XLS AB   Användarvillkor  Personliga uppgifter