Avatar billede hcthorsen Praktikant
23. marts 2016 - 09:14 Der er 9 kommentarer og
1 løsning

Makro i word

Jeg har et mærkeligt VBA-problem - synes jeg selv. Med hjælp fra en ekspert her fra siden, har jeg fået lavet en makro til word. Det hele virker fint på min computer, men når en af mine kolleger bruger dokumentet på sin computer, så går word ned. Der er helt samme software på de 2 maskiner, så jeg synes det er meget mærkeligt. På den anden computer kommer der følgende fejlmeddelelse:

Compile error  -> Expected End Sub

Makroen er her:

Dim ræk As Integer, kol As Integer
Public Sub A_MAP()
    Tables(1).Cell(2, 1).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldMap 1
End Sub
Public Sub B_MAP()
    Tables(1).Cell(2, 2).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldMap 2
End Sub
Public Sub C_MAP()
    Tables(1).Cell(2, 3).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldMap 3
End Sub
Public Sub D_MAP()
    Tables(1).Cell(2, 4).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldMap 4
End Sub
Public Sub E_MAP()
    Tables(1).Cell(2, 5).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldMap 5
End Sub
Public Sub F_MAP()
    Tables(1).Cell(2, 6).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldMap 6
End Sub
Public Sub G_MAP()
    Tables(1).Cell(2, 7).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldMap 7
End Sub
Public Sub H_MAP()
    Tables(1).Cell(2, 8).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldMap 8
End Sub
Public Sub I_MAP()
    Tables(1).Cell(2, 9).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldMap 9
End Sub
Public Sub J_MAP()
    Tables(1).Cell(2, 10).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldMap 10
End Sub
Public Sub A_udfyld()
    Tables(2).Rows(2).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldBM 1
End Sub
Public Sub B_udfyld()
    Tables(2).Rows(3).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldBM 2
End Sub
Public Sub C_udfyld()
    Tables(2).Rows(4).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldBM 3
End Sub
Public Sub D_udfyld()
    Tables(2).Rows(5).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldBM 4
End Sub
Public Sub E_udfyld()
    Tables(2).Rows(6).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldBM 5
End Sub
Public Sub F_udfyld()
    Tables(2).Rows(7).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldBM 6
End Sub
Public Sub G_udfyld()
    Tables(2).Rows(8).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldBM 7
End Sub
Public Sub H_udfyld()
    Tables(2).Rows(9).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldBM 8
End Sub
Public Sub I_udfyld()
    Tables(2).Rows(10).Select
    Selection.Shading.BackgroundPatternColorIndex = wdYellow
    udfyldBM 9
End Sub
Private Sub udfyldBM(Nr)
    Bookmarks("bm1").Select
    Selection.TypeText Text:=Format(Round(klargørIndhold(Nr + 1, 2) + 0.000001, 1), "#0.0")
    Bookmarks("bm2").Select
    Selection.TypeText Text:=Format(Round(klargørIndhold(Nr + 1, 2) + 0.000001, 1), "#0.0")
    Bookmarks("bm3").Select
    Selection.TypeText Text:=Format(Round(klargørIndhold(Nr + 1, 3) + 0.000001, 1), "#0.0")
    Bookmarks("bm4").Select
    Selection.TypeText Text:=Format(Round(klargørIndhold(Nr + 1, 2) / 2 + 0.000001, 1), "#0.0")
    Bookmarks("bm5").Select
    Selection.TypeText Text:=Format(Round(klargørIndhold(Nr + 1, 3) / 2 + 0.000001, 1), "#0.0")
    Bookmarks("bm6").Select
    Selection.TypeText Text:=Format(Round(klargørIndhold(Nr + 1, 2) / 3 + 0.000001, 1), "#0.0")
    Bookmarks("bm7").Select
    Selection.TypeText Text:=Format(Round(klargørIndhold(Nr + 1, 3) / 3 + 0.000001, 1), "#0.0")
    Bookmarks("bm8").Select
    Selection.TypeText Text:=Format(Round(klargørIndhold(Nr + 1, 2) / 3 + 0.000001, 1), "#0.0")
    Bookmarks("bm9").Select
    Selection.TypeText Text:=Format(Round(klargørIndhold(Nr + 1, 3) / 3 + 0.000001, 1), "#0.0")
    Bookmarks("bm10").Select
    Selection.TypeText Text:=Format(Round(klargørIndhold(Nr + 1, 3) + 0.000001, 1), "#0.0")
    Bookmarks("bm11").Select
    Selection.TypeText Text:=Format(Round(klargørIndhold(Nr + 1, 2) / 3 + 0.000001, 1), "#0.0")
    Bookmarks("bm12").Select
    Selection.TypeText Text:=Format(Round(klargørIndhold(Nr + 1, 2) + 0.000001, 1), "#0.0")
    Bookmarks("bm13").Select
    Selection.TypeText Text:=Format(Round(klargørIndhold(Nr + 1, 2) + 0.000001, 1), "#0.0")
End Sub
Private Sub udfyldMap(Nr)
    Bookmarks("bm14").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) - 5
    Bookmarks("bm15").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) - 5
    Selection.TypeText Text:="-"
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) + 5
    Bookmarks("bm16").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) + 10
    Bookmarks("bm17").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) + 10
    Bookmarks("bm18").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) + 5
    Bookmarks("bm19").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) - 5
    Selection.TypeText Text:="-"
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) + 5
    Bookmarks("bm20").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) - 5
    Selection.TypeText Text:="-"
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) + 5
    Bookmarks("bm21").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) - 5
    Bookmarks("bm22").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) - 5
    Bookmarks("bm23").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) - 5
    Bookmarks("bm24").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) - 5
    Bookmarks("bm25").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) - 5
    Bookmarks("bm26").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) - 5
    Bookmarks("bm27").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) - 5
    Bookmarks("bm28").Select
    Selection.TypeText Text:=klargørIndholdMap(2, Nr) - 5
End Sub
Private Function klargørIndholdMap(ræk, kol)
Dim tekst1, tekst2
        tekst1 = Tables(1).Cell(ræk, kol)
        tekst2 = Left(tekst1, Len(tekst1) - 2) 
        klargørIndholdMap = tekst2
End Function
Private Function klargørIndhold(ræk, kol)
Dim tekst1, tekst2
        tekst1 = Tables(2).Cell(ræk, kol)
        tekst2 = Left(tekst1, Len(tekst1) - 2) 
        klargørIndhold = tekst2
End Function


Jeg kan ikke lige se at jeg skulle mangle nogen "End Sub". Nogen der kan hjælpe?
Avatar billede supertekst Ekspert
23. marts 2016 - 09:44 #1
Har prøvet at kopiere koden over i et dok. og køre denne uden den nævnte fejlmelding - så ??

Er det muligt at din kollega kan checke følgende:
- Alt+F11 (VBA-vinduet vises)
- Gå til slutningen af koden
- Klik på den sidste "End Function"
- Aflæs Ln i toppen af skærmbilledet (Ln linjenummer)
* Skulle være 174
Avatar billede hcthorsen Praktikant
23. marts 2016 - 11:05 #2
Det kan jeg prøve. Må vente til efter påske før jeg møder min kollega igen. Det er lidt mærkeligt, synes jeg.
Avatar billede supertekst Ekspert
23. marts 2016 - 12:47 #3
Ja det har du ret i.
Er det den samme Office version de kollega anvender?
Avatar billede hcthorsen Praktikant
23. marts 2016 - 12:52 #4
Ja, det er arbejdscomputere med fuldstændig samme software.
Avatar billede supertekst Ekspert
23. marts 2016 - 13:37 #5
Ok - vi må vente
God Påske
Avatar billede hcthorsen Praktikant
29. marts 2016 - 10:54 #6
Nå, nu har min kollega lavet den lille øvelse. Hun får 174 linier, så det virker ikke til at der er rodet i koden. Det er over min fatteevne. Hun har endda prøvet på flere maskiner med samme resultat.
Avatar billede supertekst Ekspert
29. marts 2016 - 11:07 #7
Ok - er er mulighed at jeg kunne få en kopi af filen fra din kollega? @-adresse under min profil.
Avatar billede supertekst Ekspert
14. april 2016 - 12:57 #8
Så kan vi vel lukke denne tråd?
Avatar billede hcthorsen Praktikant
14. april 2016 - 13:57 #9
Yes. Sender du et svar?
Avatar billede supertekst Ekspert
14. april 2016 - 14:13 #10
Et svar
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

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