Avatar billede ups34 Nybegynder
20. januar 2010 - 14:47 Der er 3 kommentarer og
1 løsning

Min makro virker ikke i VBA

Jeg har optaget en makro der virker helt fint når jeg kører den. Samtidigt har jeg en makro der kører når jeg klikker på en knap i regnearket. Jeg ville gerne kombinere de to makroer, således at min gem knab først udførte den nye makro, efterfulgt af den gamle.
Mit problem er jeg kan ikke få det til at virke når jeg forsøger at kombinere. De to makroer følger:

Den gamle makro:
Private Sub CommandButton1_Click()


Cells.Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    ActiveWorkbook.SaveAs "P:\Kalkulation_døre\Tilbud\" & Worksheets("Ark1").Range("F2").Text & " " & Worksheets("Ark1").Range("H2").Text & ".xls"
    MsgBox "Døren er nu gemt"

   
End Sub

Den nye makro:
Sheets("Exel til C5").Select
    Cells.Select
    Range("A25").Activate
    Selection.Copy
    Workbooks.Open Filename:="P:\Kalkulation_døre\C5\Opdatering C5.xls"
    Range("A1").Select
    ActiveSheet.Paste
    Range("A1").Select
    Application.CutCopyMode = False
    ActiveWorkbook.Save
    ActiveWindow.Close
    ActiveWindow.SmallScroll Down:=-48
    Range("A1").Select
    Sheets("MH").Select
    ActiveWindow.SmallScroll Down:=-72
    Range("A1:H55").Select
    Selection.Copy
    ChDir "P:\Kalkulation_døre\Tilbud"
    Workbooks.Add
    ActiveSheet.Paste
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:="P:\Kalkulation_døre\Tilbud\test1.xls", _
        FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
        ReadOnlyRecommended:=False, CreateBackup:=False
    ActiveWindow.Close
    ActiveWindow.SmallScroll Down:=-45
    Range("A1:B1").Select
    ActiveWindow.SmallScroll Down:=24
End Sub

Når jeg prøver at sætte dem sammen har jeg lavet følgende:

Private Sub CommandButton1_Click()
Sheets("Exel til C5").Select
    Cells.Select
    Selection.Copy
    Workbooks.Open Filename:="P:\Kalkulation_døre\C5\Opdatering C5.xls"
    Range("A1").Select
    ActiveSheet.Paste
    Range("A1").Select
    Application.CutCopyMode = False
    ActiveWorkbook.Save
    ActiveWindow.Close
    Sheets("MH").Select

Cells.Select
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    ActiveWorkbook.SaveAs "P:\Kalkulation_døre\Tilbud\" & Worksheets("Ark1").Range("F2").Text & " " & Worksheets("Ark1").Range("H2").Text & ".xls"
    MsgBox "Døren er nu gemt"

   
End Sub

Jeg kan ikke forstå hvor det er jeg laver en fejl

Håber på hjælp som sædvanlig
MVH
UPS
Avatar billede martin_moth Mester
20. januar 2010 - 15:06 #1
Du har jo kun halvdelen af den nye macro med, der hvor du sætter dem sammen

Men meget mere simpelt:

Kald den ene macro for Macro1, den anden for Macro2, og så køre begge fra din commandbutton_Click

altså:

[code]
Private Sub macro1()
  Koden fra den ene macro
End sub

Private Sub macro2()
  Koden fra den anden macro
End sub
[/code]

Kør begge macroer når du klikekr på knappen:
[code]
Private Sub CommandButton1_Click()
  call Macro1
  call Macro2
End Sub
[/code]
Avatar billede claes57 Ekspert
20. januar 2010 - 15:08 #2
hvorfor ikke bare som første linje i den gamle lægge et call til den nye makro.
Avatar billede ups34 Nybegynder
20. januar 2010 - 20:44 #3
Hej Martin

Den sidste ½del er jo netop den første makro! Jeg lavede bare en makro for at kunne aflæse formler.
Det er en god ide med med at bruge "call", og det virker fint.
Jeg må dog indrømme at jeg helst havde set, jeg kunne programmere alt i VBA direkte. Men nu virker det, og du skal have tak for hjælpen!!!

MVH
Ups
Avatar billede martin_moth Mester
21. januar 2010 - 09:18 #4
Du programmerer alt i VBA direkte.

Du kan også bare sætte dem sammen i en stor pærevælling - det er helt op til dig... :-)
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

IT-JOB