Avatar billede jernrosen3 Forsker
03. marts 2011 - 09:04 Der er 9 kommentarer og
1 løsning

Makro til at bevæge sig rundt i excelark efter bestemt mønster

Jeg er løbet fuldstændig død i Excel 2007 makroer.

Jeg har et regneark, der regner scoren ud til bowlingspil - formler er på plads og det virker bare *S*

Det er bare utroligt besværligt at skulle tage fat i mus eller trykke på piletaster - især når det foregår samtidigt med at 6 spillere leverer resultater løbende.

Ergo har jeg tænkt at lave en makro med knapper, der skriver resultat ved tryk på knap og derefter bevæger sig til næste felt - venter på næste resultat - tryk på knap ........

det er nok bedre at vise ved hjælp af billede :

http://www.bkcitybowling.dk/images/images/excelmacro.jpg

Røde stjerner er stopfelter - sort streg er bevægelsesmønster - gule felter er trykknapper.

Jeg har specifikt brug for hjælp til :

Makro til bevæge - stop - og vent på tryk på knap - bevæge til næste felt. Sådan lidt overordnet da jeg godt kan klippe kopiere og klistre.

Makro til trykknapper - igen overordnet, da der er lidt specielt ved strikes, som jeg tror jeg har styr på

Jeg synes selv det giver mening; men ellers er I hjerteligt velkomne til at stille uddybende spørgsmål.
Avatar billede supertekst Ekspert
03. marts 2011 - 10:56 #1
Hvordan er tryknapperne genereret?

Hvad med de knapper, der ikke indeholder et tal?

Skal der registreres højere værdi end 9 i en celle?
Avatar billede Dick Nybegynder
03. marts 2011 - 11:17 #2
Hej, umiddelbart lyder det som om, du ikke behøver bruge en makro. lås i stedet alle de celler, der ikke skal skrives i, og beskyt derefter arket (startside, formater). Nu kan du springe fra indtastningsfelt til indtastningsfelt. Brut <Tab> eller <Enter> efter behov.
Avatar billede jernrosen3 Forsker
03. marts 2011 - 14:00 #3
---> supertekst 
1. øhhhhhh - må være dig svar skyldig på dette spørgsmål - jeg regner med at lave dem senere. Som en subrutine i makroen ?

2. Knapper uden tal er : X=10 - /=resten - -=ingen - det tager formlen hensyn til i indtastningen.

3. Øhhhh - ja - se svar ovenfor

---> Dick

Dit forslag er såmænd ok; men det betyder stadig en masse hoppen 1 frem ( tab ) - 1 frem  ( tab ) - 1 ned ( pil ned )- 1 til venstre ( <--- ) - makroen skulle gerne kunne bevæge sig kun ved at bruge (enter) eller (tab)
Avatar billede jernrosen3 Forsker
09. marts 2011 - 18:20 #4
Slet ingen forslag ???
Avatar billede supertekst Ekspert
09. marts 2011 - 18:42 #5
Jo - det kommer - p.g.a. travlhed
Avatar billede supertekst Ekspert
10. marts 2011 - 22:46 #6
Udkast:
Dim slagNr As Byte, rundeNr As Byte, spillerNr As Byte
Dim antalSpillere As Byte, maxSlag As Byte, ræk As Byte, kol As Byte
Const startR = 5
Const startK = 3
Const Slag1 = 2
Const Slag10 = 3
Const antalRunder = 10
Public Sub startSpil()
    antalSpillere = Range("D2")
    rundeNr = 1
    spillerNr = 1
    slagNr = 1
    maxSlag = Slag1
   
    ræk = startR
    kol = startK
    Cells(ræk, kol).Select
End Sub
Private Sub CommandButton1_Click()
    flyt 1
End Sub
Private Sub CommandButton2_Click()
    flyt 2
End Sub
Private Sub flyt(points)
    Cells(ræk, kol).Select
    Selection.Value = points

    slagNr = slagNr + 1
    If slagNr > maxSlag Then
        nySpiller
    Else
        sammeSpiller
    End If
   
    If spillerNr > antalSpillere Then
        nyRunde
    End If
   
   
    If rundeNr > antalRunder Then
        MsgBox "Game over"
        Exit Sub
    End If
End Sub
Private Sub sammeSpiller()
    kol = kol + 1
End Sub
Private Sub nySpiller()
    kol = kol - (maxSlag - 1)
    ræk = ræk + 5
    slagNr = 1
    spillerNr = spillerNr + 1
End Sub
Private Sub nyRunde()
    kol = kol + 2
    ræk = startR
    spillerNr = 1
    rundeNr = rundeNr + 1
   
    If rundeNr = 10 Then
        maxSlag = Slag10
    End If
End Sub
Avatar billede supertekst Ekspert
12. marts 2011 - 13:15 #7
Var det noget i den retning?
Avatar billede supertekst Ekspert
14. marts 2011 - 11:40 #8
det går jeg så ud fra..
Avatar billede jernrosen3 Forsker
16. marts 2011 - 06:44 #9
Jeg fandt en lidt anden løsning - knap så elegant som din.

Jeg tildelte hver knap en sub, der giver resultat og bevægelse til højre + en knap der bevæger 5 ned 0g 2 til venstre + en knap der bevæger sig 25 op og 1 til højre

uddrag af mine submakroer :

Sub Macro1()
    ActiveCell.Offset(5, -2).Select
End Sub

   
Sub Macro2()
'
' Macro2 Macro
'
'
'
    ActiveCell.Offset(-25, 0).Select
End Sub
Sub Macro3()
'
' Macro3 Macro
'

'
   
    ActiveCell.FormulaR1C1 = "1"
    ActiveCell.Offset(0, 1).Select
   
    End Sub
Sub Macro4()
'
' Macro4 Macro
'

'
   
    ActiveCell.FormulaR1C1 = "2"
    ActiveCell.Offset(0, 1).Select
    End Sub
Sub Macro5()
'
' Macro5 Macro
'

'
   
    ActiveCell.FormulaR1C1 = "3"
    ActiveCell.Offset(0, 1).Select
    End Sub
Sub Macro6()
'
' Macro6 Macro
'

'
   
    ActiveCell.FormulaR1C1 = "4"
    ActiveCell.Offset(0, 1).Select
    End Sub

Du får point for dit forsøg - tak for hjælpen !
Avatar billede supertekst Ekspert
16. marts 2011 - 08:43 #10
Ok - selv tak
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
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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