Avatar billede maffigadaffi Novice
07. juli 2011 - 17:08 Der er 2 kommentarer og
1 løsning

kopiere indhold fra eet ark, oprette ny fane i et andet ark og paste på den nye fane (VBA)

Problem:

Jeg har et dashboard (excel 2007) der hvet 15 min. opsamler og bearbejder en bunke data og laver en grafisk visning. (bl.a. pivotdiagrammer). Lad os kalde det for ark1


Jeg vil gerne lave et nyt ark (ark2)der een gang i døgnet vha. OnTime (kl. 22.15), kopierer indholdet fra fanen 'skærm' i ark 1 og paster i ark 2 på en ny fane.

Her er finten:
makroen skal lave en ny fane i Ark2 som det kopierede indhold fra 'Ark1 'Skærm'' pastes ind på. koden skal omdøbe den nye fane til dd/mm (altså dato/måned)

Ark2 skal endvidere slette den ældste fane i ark2, således at der altid kun ligger 31 faner (de sidste 31 dage, inkl. weekend, helligdage osv.)i ark 2

Til sidst skal Ark 2 gemmes (álá "gem som" - display.alerts.false...)

Både Ark1 og Ark2 kører på den samme pc og lukkes under normale omstændigheder aldrig.
Avatar billede supertekst Ekspert
07. juli 2011 - 22:04 #1
"makroen skal lave en ny fane i Ark2" - fane - hvordan skal det forstås?
Avatar billede maffigadaffi Novice
08. juli 2011 - 07:37 #2
fane = worksheet
Avatar billede maffigadaffi Novice
08. juli 2011 - 09:30 #3
Lukkes, da jeg selv fald brugbar løsning:

Sub hent_idag()


Sheets.Add.Name = "NY FANE"
Call kopier_idag
Call fanenavn

End Sub



Sub kopier_idag()



    Windows("ark1.xlsm").Activate
        Application.DisplayAlerts = False
            Sheets("Skærm").Select
            Cells.Select
            Selection.Copy
            Range("A1").Select
            Windows("ark2.xlsm").Activate
            Sheets("NY FANE").Select
            ActiveSheet.Paste
            Application.CutCopyMode = False
            Selection.Copy
            Range("A1:P1").Select
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
            Application.CutCopyMode = True
            Range("A1").Select
          Application.DisplayAlerts = True
       
End Sub


Sub fanenavn()

Range("C7").Select
    ActiveCell.FormulaR1C1 = "=TODAY()"
    Range("A1").Select

ActiveSheet.Name = Range("c7")

End Sub
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