Avatar billede kim1a Ekspert
01. juli 2014 - 17:26 Der er 4 kommentarer og
1 løsning

VBA select case udfordring

Hvad gør jeg forkert her?

Det jeg vil opnå, er at Den skal fravælge visse faneblade, men resten skal den lave nogle formler på og så printe ud uden at spørge brugeren om printmenu.

For i = 1 To Worksheets.Count
    Select Case Worksheets(i).Name
        Case "Pivot Kontrolfil"
        Case "Kontrolfil"
        Case "Teknikere"
        Case "Opslag"
        Case "(blank)"
        Case "Start"
        Case Else
            With Worksheets(i)
                .Rows("1:1").Select
                .Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
                .Cells(1, 1).FormulaR1C1 = "Filial:"
                .Cells(1, 2).FormulaR1C1 = "ikke"
                .Cells(2, 4).FormulaR1C1 = "Navn:"
                .Cells(2, 5).FormulaR1C1 = "=Vlookup(RC[-3],Teknikere!R1C1:R999C4,2,false)"
                .Cells(1, 4).FormulaR1C1 = "Medarbejdertype:"
                .Cells(1, 5).FormulaR1C1 = "=Vlookup(R[1]C[-3],Teknikere!R1C1:R999C4,3,false)"
                .Cells(1, 6).FormulaR1C1 = "=Vlookup(RC[-1],opslag!R1C7:R15C8,2,false)"
            Application.DisplayAlerts = False
    '          .PrintOut
            End With
    End Select
Next

Den melder fejl allerede når den skal indsætte linje. "Select method of range case failed"

Jeg beklager de sjove linjeskift.
Avatar billede supertekst Ekspert
01. juli 2014 - 17:51 #1
Sub test()

For i = 1 To Worksheets.Count
    Select Case Worksheets(i).Name
        Case "Pivot Kontrolfil"
        Case "Kontrolfil"
        Case "Teknikere"
        Case "Opslag"
        Case "(blank)"
        Case "Start"
        Case Else
            With Worksheets(i)
                .Select
                .Rows("1:1").Select
               
                Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
                .Cells(1, 1).FormulaR1C1 = "Filial:"
                .Cells(1, 2).FormulaR1C1 = "ikke"
                .Cells(2, 4).FormulaR1C1 = "Navn:"
                .Cells(2, 5).FormulaR1C1 = "=Vlookup(RC[-3],Teknikere!R1C1:R999C4,2,false)"
                .Cells(1, 4).FormulaR1C1 = "Medarbejdertype:"
                .Cells(1, 5).FormulaR1C1 = "=Vlookup(R[1]C[-3],Teknikere!R1C1:R999C4,3,false)"
                .Cells(1, 6).FormulaR1C1 = "=Vlookup(RC[-1],opslag!R1C7:R15C8,2,false)"
            Application.DisplayAlerts = False
    '          .PrintOut
            End With
    End Select
Next
End Sub
Avatar billede kim1a Ekspert
02. juli 2014 - 16:43 #2
Det ændrede desværre ikke noget. (den eneste ændring var .select i starten af with ikke?)
Avatar billede supertekst Ekspert
02. juli 2014 - 17:01 #3
Ja - jeg oplevede ikke fejl..
Avatar billede kim1a Ekspert
02. juli 2014 - 17:48 #4
Kan det være fordi der er en pivottabel på hver fane? Jeg forsøger at indsætte en linje så Pivoten der er en tom linje jeg kan indsætte formler i øverst.
Avatar billede kim1a Ekspert
10. juli 2014 - 21:27 #5
Løsningen blev en omskrivning af koden.
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