Avatar billede ABE15 Seniormester
21. oktober 2016 - 14:40 Der er 12 kommentarer

Makro på Mac

Hej..
Jeg har oprettet en makro i Excel 2011, som tilpasser projektmappen efter mit ønske. Der indgår desuden en knap med en tilhørende makro som skal tilføje et ark til projektmappen, altså ark nr. 2, som indeholder samme forudsætninger som ark 1.
Det fungerer fint, bare ikke når jeg ønsker endnu et ark, altså ark nr. 3. Det trejde ark indeholde ikke de ønskede forudsætninger, men er bare et standartark.
Jeg kan ikke gennemskue hvordan problemet kan løses...er der nogle forslag??

Mvh ABE15
Avatar billede jakobdo Ekspert
21. oktober 2016 - 15:03 #1
Tror du skal vise noget kode, for folket kan komme med konkrete behov.

Et gæt kunne måske være du mangler at nulstille nogle referencer til ark1, som så kopieres videre til ark2 osv...
Avatar billede ABE15 Seniormester
21. oktober 2016 - 15:05 #2
Koden er ret lang, er det hele kode i skal se?
Avatar billede jakobdo Ekspert
21. oktober 2016 - 15:16 #3
Jeg er ikke excel haj. Jeg tænker blot hvad jeg skulle mangle, hvis jeg var. :)
Avatar billede ABE15 Seniormester
21. oktober 2016 - 15:22 #4
Ja okay..jeg viser gerne koden hvis det hjælper nogle kloge hoveder på vej.
Avatar billede jakobdo Ekspert
21. oktober 2016 - 16:59 #5
Og der er ikke nogle referencer du mangler at nulstille eller sætter = NULL eller noget ?
Avatar billede ABE15 Seniormester
28. oktober 2016 - 10:33 #6
Jeg har løst det
Avatar billede jakobdo Ekspert
28. oktober 2016 - 11:14 #7
Hvad var probelmet så ?
Avatar billede ABE15 Seniormester
28. oktober 2016 - 15:08 #8
Der var en forkert henvisning i makroen
Avatar billede ABE15 Seniormester
28. oktober 2016 - 15:17 #9
Til gengæld er der noget andet som er lidt træls. Når man kører en makro som tilføjer et ark, så placeres ark 2 før ark 1. Så hvis der er 4 ark i en projektmappe, så står der: 4,3,2,1 istedet for 1,2,3,4.
Der byttes altså om på ark placeringen, hvilket giver problemer når der dannes en udskrift. Kan man gøre noget ved det?
Avatar billede jakobdo Ekspert
28. oktober 2016 - 16:21 #10
Kan du ikke bruge denne metode: https://support.microsoft.com/en-us/kb/107622
Avatar billede ABE15 Seniormester
28. oktober 2016 - 16:45 #11
Jo det er nok den man skal bruge, men jeg kan ikke lige gennemskue hvad jeg skal ændre i min nuværende makro.
Den samlede makro ser sådan ud:
 
Sub Tilføjarkmakro9()
'
' Tilføjarkmakro1 Makro
'
' Tastaturgenvej: Alternativ+Kommando+u
'
    Sheets.Add
    Sheets("Ark2").Select
    Cells.Select
    Selection.Style = "Comma"
    Selection.Style = "Comma"
    ActiveWindow.View = xlPageLayoutView
    Range("A1").Select
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
    End With
    ActiveSheet.PageSetup.PrintArea = ""
    With ActiveSheet.PageSetup
        .LeftHeader = "&""Calibri,Normal""&K000000Hans Skovgaard" & Chr(13) & "ABM15"
        .CenterHeader = "&""Calibri,Normal""&K000000Skat"
        .RightHeader = "&""Calibri,Normal""&K000000&D"
        .LeftFooter = "&""Calibri,Normal""&K000000&A"
        .CenterFooter = "&""Calibri,Normal""&K000000Side &P af &N"
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.75)
        .RightMargin = Application.InchesToPoints(0.75)
        .TopMargin = Application.InchesToPoints(1)
        .BottomMargin = Application.InchesToPoints(1)
        .HeaderMargin = Application.InchesToPoints(0.5)
        .FooterMargin = Application.InchesToPoints(0.5)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = -4
        .CenterHorizontally = False
        .CenterVertically = False
        .Orientation = xlPortrait
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = 100
    End With
    Selection.NumberFormat = "@"
    Selection.Font.Bold = True
    Selection.Font.Size = 14
    ActiveCell.FormulaR1C1 = "Titel:"
    Range("B1:G1").Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .ShrinkToFit = False
        .MergeCells = False
    End With
    Selection.Merge
    Selection.Font.Size = 14
    Selection.Font.Bold = True
    Selection.NumberFormat = "@"
    Range("A5").Select
    Selection.Font.Bold = True
    ActiveCell.FormulaR1C1 = "Opgave nr. 10"
    Range("A6").Select
    Columns("A:A").ColumnWidth = 10
    Columns("A:A").EntireColumn.AutoFit
    Range("A3").Select
    ActiveSheet.Buttons.Add(68, 39, 72, 72).Select
    Selection.OnAction = "'Personlig makroprojektmappe'!Tilføjarkmakro2"
    ActiveSheet.Shapes("Button 1").ScaleWidth 1.0972222222, msoFalse, _
        msoScaleFromTopLeft
    ActiveSheet.Shapes("Button 1").ScaleHeight 0.2361111111, msoFalse, _
        msoScaleFromTopLeft
    ActiveSheet.Shapes("Button 1").IncrementLeft -67
    ActiveSheet.Shapes("Button 1").IncrementTop -6
    ActiveSheet.Shapes("Button 1").ScaleWidth 1.0759493671, msoFalse, _
        msoScaleFromTopLeft
    ActiveSheet.Shapes("Button 1").ScaleHeight 0.9411764706, msoFalse, _
        msoScaleFromTopLeft
    Range("B4").Select
    ActiveSheet.Shapes.Range(Array("Button 1")).Select
    Selection.Characters.Text = "Tilføj et ark"
    With Selection.Characters(Start:=1, Length:=12).Font
        .Name = "Lucida Grande"
        .FontStyle = "Normal"
        .Size = 12
        .StrikeThrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
    Range("C5").Select
    ActiveSheet.Shapes.Range(Array("Button 1")).Select
    With Selection.Font
        .Name = "Lucida Grande"
        .FontStyle = "Normal"
        .Size = 12
        .StrikeThrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleSingle
    End With
    With Selection
        .Placement = xlFreeFloating
        .PrintObject = False
    End With
    Range("B4").Select
    ActiveSheet.Shapes.Range(Array("Button 1")).Select
    ActiveSheet.Shapes("Button 1").ScaleWidth 0.9647058824, msoFalse, _
        msoScaleFromTopLeft
    ActiveSheet.Shapes("Button 1").ScaleHeight 1.0625, msoFalse, _
        msoScaleFromTopLeft
    Range("B1:G1").Select
    Range("A5").Select
    Selection.NumberFormat = "@"
    Range("A5").Select
    ActiveCell.FormulaR1C1 = "Opgave nr."
    Range("B5").Select
End Sub

Er der nogen som kan gennemskue hvad jeg skal ændre??
Avatar billede jakobdo Ekspert
28. oktober 2016 - 18:17 #12
Mit gæt er du kan tilføje noget ala:

ActiveSheet.Move After:=Sheets(ActiveWorkbook.Sheets.Count)
Application.ScreenUpdating = True    ' Enables screen refreshing

Lige efter Sheets.Add
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



IT-JOB

Cognizant Technology Solutions Denmark ApS

Test Manager

Udviklings- og Forenklingsstyrelsen

Udviklere til Internationalt samarbejde

Cognizant Technology Solutions Denmark ApS

Client Partner – Banking and Financial Services – BFS