Avatar billede michaeljuul Nybegynder
22. marts 2005 - 21:19 Der er 47 kommentarer og
1 løsning

Kun et tal i felt videre til næste felt?

Hej

Jeg har en række med 30 felter. Alle felter kolonne brede på 2
Nu vil jeg gerne have det sådan, at man har tastet f.eks. 1 i felt A2 så hopper den selv videre til A3 osv osv.

Er der en som kan hjælpe med det?

Michal
Avatar billede kabbak Professor
22. marts 2005 - 22:32 #1
maker cellerne, f. eks A1 til A10

Tast 1, tryk CTRL + ENTER,
så står der 1 i A1 til A10
Avatar billede kabbak Professor
22. marts 2005 - 22:34 #2
hvis det er det du mener,
ellers skal du i Funktioner > Indstillinger > Rediger

der kan du vælge retning, som den skal tage efter enter
Avatar billede michaeljuul Nybegynder
22. marts 2005 - 22:40 #3
Det var ikke på den måde jeg mente. Måske jeg forklare mig forkert.
Det er ikke i alle felter der skal stå 1. Kun i dem som jeg vil skrive i.
Men jeg vil gerne have den sådan, at når jeg har trykket på 1 (ikke noget med Enter) så går den videre til næste felt. Man kan måske sige at 1 også kommer til at virke som ENTER også.
Avatar billede kabbak Professor
22. marts 2005 - 22:46 #4
det bliver svært, ingen makro kan køre mens du taster i en celle, kun når den aktiveres eller forlades.
Avatar billede michaeljuul Nybegynder
22. marts 2005 - 22:52 #5
Ok Men hvis du har en eller anden form for løsning, så bare kom den så må jeg se på det.
Men kan du fortælle hvordan jeg kan gøre så der max kan stå et tal i i felt?
Så man ikke lige er kommet til og trykke to gange på 1 så der står 11 i stedet for 1
Avatar billede jkrons Professor
22. marts 2005 - 22:57 #6
Det kan du gøre med datavalidering. Data- Datavalidering. Fx Tekstlængde, men der er også andre muligheder.
Avatar billede kabbak Professor
22. marts 2005 - 22:59 #7
Brug Data > Datavalidering > indstillinger

tillad Helt tal
mindste 0 største 9
Avatar billede michaeljuul Nybegynder
22. marts 2005 - 22:59 #8
Hvad vil du mene der er bedst at bruge? Nu du skriver der er andre muligheder.
Avatar billede jkrons Professor
22. marts 2005 - 23:02 #9
Tekstlængde er givetvis det nemmeste. Men det rigtigste er nok at vælge brugerdefineret og så indsætte denen formel: =LÆNGDE(A1)=1
Avatar billede kabbak Professor
22. marts 2005 - 23:05 #10
man kan også bruge makro, der tjekker når du forlader cellen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
a = Len(Target)
If a > 1 Then
Target = Left(Target, 1)
End If
End If
End Sub

her er det kolonne a den virker i

hvis der er mere end et tegn, beholder den den første
Avatar billede kabbak Professor
22. marts 2005 - 23:06 #11
Koden skal i Arkmodulet

højreklik på arkfanen, vælg vis programkode
Avatar billede jkrons Professor
22. marts 2005 - 23:06 #12
kabbak-> Du behøver ikek din variabel her. Den tager bage plads op. Ca 1 byte :-)
Avatar billede kabbak Professor
22. marts 2005 - 23:07 #13
det var sørme meget
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If  = Len(Target) > 1 Then
Target = Left(Target, 1)
End If
End If
End Sub
Avatar billede kabbak Professor
22. marts 2005 - 23:08 #14
;-))
Avatar billede kabbak Professor
22. marts 2005 - 23:08 #15
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Len(Target) > 1 Then
Target = Left(Target, 1)
End If
End If
End Sub
Avatar billede jkrons Professor
22. marts 2005 - 23:09 #16
Måske ikke så meget endda, men looper din makro 1.000.000 gange har du brugt 1Mb :_)
Avatar billede michaeljuul Nybegynder
22. marts 2005 - 23:10 #17
Hold da det går stærkt nu. Jeg prøver lige den du skrev kabak
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Len(Target) > 1 Then
Target = Left(Target, 1)
End If
End If
End Sub

Er tilbage om lidt :-)
Avatar billede jkrons Professor
22. marts 2005 - 23:11 #18
kabbak->  Endnu kortere:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then If Len(Target) > 1 Then Target = Left(Target, 1)
End Sub
Avatar billede kabbak Professor
22. marts 2005 - 23:16 #19
hvor du kan jkrons ;-))
Avatar billede jkrons Professor
22. marts 2005 - 23:17 #20
Det er tidspunktet, der gør hjernen skarp. Og så min influenza, som har lagt mig sengen hele dagen :-)
Avatar billede michaeljuul Nybegynder
22. marts 2005 - 23:20 #21
Den vil ikke :-(

Sub test()

' test Makro
' Makro indspillet 22-03-2005 af Michal Juul
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then If Len(Target) > 1 Then Target = Left(Target, 1)


    Range("E32:AI43").Select
End Sub
Avatar billede jkrons Professor
22. marts 2005 - 23:22 #22
Ingen Sub test(). Kun resten. Og husk at den skal ligge i arkets kodemodul.
Avatar billede kabbak Professor
22. marts 2005 - 23:22 #23
det er i et modul, det skal være i arkmodulet

til venstre kan du se ark navnene, dobbeltklik på det ark den skal virke i,og kopier vores kode derind
Avatar billede jkrons Professor
22. marts 2005 - 23:23 #24
Det gør en indspillet makro aldrig.
Avatar billede michaeljuul Nybegynder
22. marts 2005 - 23:25 #25
Hvad er det for et kodemodul du mener?
Har lavet en anden makro i går til noget andet, og det virkede fint
Avatar billede kabbak Professor
22. marts 2005 - 23:27 #26
højreklik på arkfanen,i det ark koden skal virke, vælg vis programkode

sæt koden derind
Avatar billede jkrons Professor
22. marts 2005 - 23:27 #27
Det kommer an på, hvad makreon skal bruges til. Dene skal afvikles automatisk, når du foretager dig noget i arket. Derfor skal den ligge i arkets kodemodul. Prøv, som kabbak tidligere har skrevet af høæjreklikke på arkfangen. Vælg Vis programkode. Og kopier makroen til dette ark.
Avatar billede michaeljuul Nybegynder
22. marts 2005 - 23:31 #28
Lige 2 min
Avatar billede michaeljuul Nybegynder
22. marts 2005 - 23:36 #29
Vil have noget i mod og hente Excel filen her og se på den?
http://www.duerher.dk/updir/Grundforloeb/Elforsyning/befordring_makro12.xls

Det er nede i bunden i den kalender jeg skal bruge det med 1
Avatar billede jkrons Professor
22. marts 2005 - 23:40 #30
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column >= 5 And Target.Column <= 36 Then If Len(Target) > 1 Then Target = Left(Target, 1)
    Range("E32:AI43").Select

End Sub


Kabbaks makro tester på A- kolonnen. Dine tal starter i e-kolonnen, som altså er kcolumn 5.
Avatar billede kabbak Professor
22. marts 2005 - 23:40 #31
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("E32:AI43")) Is Nothing Then
If Len(Target) > 1 Then Target = Left(Target, 1)
End Sub
Avatar billede kabbak Professor
22. marts 2005 - 23:42 #32
Jkrons > han skal bruge hele området, som kalenderen er i
Avatar billede jkrons Professor
22. marts 2005 - 23:42 #33
Tællefejl :-)
Avatar billede kabbak Professor
22. marts 2005 - 23:43 #34
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("E32:AI43")) Is Nothing Then
If Len(Target) > 1 Then Target = Left(Target, 1)
End If
End Sub

jeg havde glemt et end if
Avatar billede jkrons Professor
22. marts 2005 - 23:43 #35
Men nu tror jeg at det sengetid. :-)
Avatar billede michaeljuul Nybegynder
22. marts 2005 - 23:44 #36
Undskyld jeg skrev A :-(
Avatar billede kabbak Professor
22. marts 2005 - 23:47 #37
behøver ikke at undskylde, men en god beskrivelse gør at man hurtigere får det rigtige.

jeg kan se du har flere ark med kalender i.

Koden skal ind i hver ark,
Avatar billede michaeljuul Nybegynder
22. marts 2005 - 23:47 #38
Det virker  kabbak :-) :-) :-) :-)
Så mangler jeg bare et svar ;-)

Men hvad men ikrons han skulle næsten også har nogle point.
Hvordan kan jeg gøre det?
Avatar billede michaeljuul Nybegynder
22. marts 2005 - 23:49 #39
Ja den skal ind i den alle 3. Så jeg regner med at jeg bare gør det på samme måde med de 2 andre ark
Avatar billede kabbak Professor
22. marts 2005 - 23:49 #40
bed ham om at afgive et svar, når han har gjort det, marker så begge vores navne i boksen til venstre, tryk så accepter, så fordeler den selv point
Avatar billede jkrons Professor
22. marts 2005 - 23:51 #41
giv bare point til kabbak. det var jo hans løsning.
Avatar billede michaeljuul Nybegynder
22. marts 2005 - 23:52 #42
Ok men så vil jeg forhøje de point så i begge får det jeg startet med. Hvordan kan jeg gøre det?
Avatar billede kabbak Professor
22. marts 2005 - 23:53 #43
de point der er sat af er udmærket
Avatar billede michaeljuul Nybegynder
22. marts 2005 - 23:55 #44
oK tak. Jeg en anden makro jeg godt kunne tænke mig hjælp til.
Mon du kunne have lyst til det?
Avatar billede kabbak Professor
22. marts 2005 - 23:57 #45
lav et nyt spørgsmål, med en bedre beskrivelse, så sr vi på det ;-)
Avatar billede michaeljuul Nybegynder
23. marts 2005 - 00:01 #46
Det lyder godt. MEN
Det bliver først i morgen. LIGE NU har jeg været oppe i 36 timer.
Så det må være på tide og komme i seng. Skal op kl. 6

Men tak for hjlæpen til jer begge. Og jeg håber da også ikrons kommer.

Hov så lige hans svar troede han var gået i seng.
Men jeg gør som han skriver.

Og nu godnat til jer begge og tak
Avatar billede kabbak Professor
23. marts 2005 - 00:02 #47
tak for point
Avatar billede michaeljuul Nybegynder
23. marts 2005 - 00:04 #48
Så lidt. Der er flere imorgen ;-) skal vi starte med 100
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester