Jag har gjort ett dokument där två tre textboxar finnes på varje rad. I dessa boxar skall man sätta kryss. Tack men jag tror jag uttryckt mig oklart. Aha... när du skrev "i Visual Basic" antog jag att du syftade på just Visual Basic. Det är ju inte samma sak som VBA. Jag förstår inte hur du menar nu... Så här gjorde jag: ...när jag går in i sheetets kod så syns absolut ingenting. Det syns ingen kod, det ska bara komma upp en tom kodruta. Förresten - vad är det du vill uppnå? Först ett STORT tack till dig för din hjälp här! Du säger att jag ska kunna hitta "textbox" längst upp till vä i VBeditorn. Du syftar på "bild"-textrutan, den som ligger på Drawing-verkygsfältet (eller mots. svensk)?Numrering av objekt - hur?
En för "Ja"
en för "Nej"
en för "Comments"
När jag ritar dessa textboxar är det som om Excel minns i vilken ordning de är ritade (de blir nog numrerade någonstans).
När jag ställer mig i den första och tabulerar så hoppar markören till nästa textbox osv...
Så långt är allt väl - men när jag stänger dokumentet och öppnar det igen så verkar det som om numreringen är lite omkastad.... markören hoppar inte längre i exakt samma ordning som när jag ritade upp textboxarna.
Någon som vet varför det blir såhär?
Någon som vet hur/var man själv numrerar dessa boxar (objekt).
I Visual Basic kan man själv numrera vilken ordning markören ska hoppa i mellan ritade objekt, så det borde finnas sådan funktion även här.Till Niklas
Jag har alltså INTE tillverkat ett interface i VBA.
Jag har lagt textboxarna direkt på Excel-worksheet.
Så det är DÄR jag vill kunna sätta "tab order". Har ingenting med VBA att göra.
Hoppas du vet....Sv: Till Niklas
Hittade inget omedelbart, men en lösning är ju att i kontrollens KeyPress-event fånga vbTab, och köra en .SetFocus på nästa.Sv: Till Niklas igen
...vaddå "fånga"... om du vill förklara lite stegvis blir jag glad (hoppas, hoppas...)Sv: Till Niklas igen
1. Satte ut två textboxar (de på Control Toolbox).
2. Gick in i sheetets kod, valde TextBox1, och KeyDown.
3. Skrev in
<code>
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = Asc(vbTab) Then
TextBox2.Activate
End If
End Sub
</code>
Det fungerar bra för mig.Men jag undrar då...
Jag tar Tools/Macro/Visual Basic Editor/
markerar sheetet till vänster och säger view code med hö-click.
...ingenting syns...
Mycket märkligt. Vad kan jag göra för fel.Sv: Men jag undrar då...
Längst upp till vänster i kodrutan har du en "Dropdown-list", och där väljer du din textbox. Då hoppar lite kod fram. Strunta i den och välj "KeyDown" i den högra rutan. Sen petar du in typ den kod jag skrev ovan.Sv: Men jag undrar då...
Textboxar på Excel-sheets är nästan alltid onödigt.
Det är oftast bättre och enklare att bara använda celler som de är. Jo, Niklas... jag vill
Jag har ett worksheet, med kryssrutor och kommentarruta, som skall fyllas i av någon som inte alls är bra på Excel.
Vill därför göra så att han bara kan ställa sig i första rutan och därefter tabulera sig igenom frågorna och skriva X för ja, nej och kommentar i en ruta därefter.
Jag har gjort så att jag protect worksheet, så kan inget gå fel i dokumentet.
...men det verkar som om Excel klarar av en rad med 3 rutor. Dessa kan sedan kopieras nedåt och då hoppar Excel i rutorna i ordning med hjälp av tab.
...men när man ville ha fyra rutor i rad gick det inte längre. Då började Excel hoppa slumpmässigt i de olika rutorna.
NU ska jag testa ditt förslag.Pratar vi om samma sak???
Det finns INGENTING som indikerar att något är ritat på worksheet.
Vad är det för textbox du menar?
Jag har som sagt INTE använt NÅGOT VB-verktyg utan använt mig av textrute-verktyget som finns i programmet Excel --- på worksheet.
Det är INTE någon textbox som är tillverkad i VB-design alltså.
Pratar vi om samma sak?????
Bäst att förhöra sig nu innan jag trasslar till den här tråden ännu mera (skratt).Sv: Pratar vi om samma sak???
Då vetefan om det går att lösa. Troligtvis inte.
Om du testar att högerklicka och välja "Assign Macro..." så kan man göra något vid ett click-event, men det finns nog inget för tangenttryckningar. Inga worksheet-grejer verkar funka heller.
Jag skulle nog rekommendera dig att istället använda Textboxen som finns på "Toolbox"-verktygsfältet. Eller bara celler som medel för inmatning, det fungerar faktiskt ganska bra ofta.TACK NIKLAS
Då har vi kommit fram till samma sak....
Jag kan tänka mig att Microsofts programmerare har tänkt att "visst, dom kan få göra tre checkboxar för ja, nej och vet ej..." Vill dom ha fler så får dom MINSANN börja använda visual basic...
TACK för ditt engagemang och dina SNABBA svar!
Trevlig sommar!