Avatar billede zack Nybegynder
12. februar 2003 - 15:12 Der er 39 kommentarer og
1 løsning

Ændring af makro

Jeg har en makro, som henter nogle celler fra et andet regneark.

  Application.CutCopyMode = False
    Filnavn = Range("C4").Value & ".xls"
    Workbooks.Open FileName:="\\Fs1\DATA\EM\Kalkulationer\Kalk 2003\" & Filnavn, UpdateLinks:=3
    Sheets(1).Rows("3:58").Select
    Selection.Copy Destination:=Workbooks("Testkalk.xls").Sheets(1).Range("A12")
    Workbooks(Filnavn).Close savechanges:=False
    Range("A4:B4").Select
    Application.CutCopyMode = False
End Sub

Det regneark der bliver hentet fra har nogle celler som løbende opdateres via et andet ark.

De bliver naturligvis opdateret når jeg kopierer arket, og det er fint nok...

Når jeg nu vil åbne arket som der bliver kalkuleret i næste gang, går den tilbage og opdateret. DET MÅ DEN IKKE.

Kun opdatere når de i første omgang bliver hentet. Hvad skal ændres i makroen for at udhjælpe dette problem?
Avatar billede janvogt Praktikant
12. februar 2003 - 15:28 #1
Kan du ikke bare lave en makro, som kun opdaterer når du kører den?
Det kunne jo tyde på, at din makro ligger under Workbook_open hændelsen.
Avatar billede zack Nybegynder
12. februar 2003 - 15:31 #2
Hmmm.. den må godt opdatere når den kopieres over. Når så man gemmer den der er kopierer over i, må den ikke opdatere når den åbner igen.
Avatar billede bak Forsker
12. februar 2003 - 15:35 #3
Så kan man jo nøjes med at kopiere værdier over.
Test lige det her.

Application.CutCopyMode = False
    Filnavn = Range("C4").Value & ".xls"
    Workbooks.Open Filename:="\\Fs1\DATA\EM\Kalkulationer\Kalk 2003\" & Filnavn, UpdateLinks:=3
    Sheets(1).Rows("3:58").Select
    Selection.Copy
    Workbooks("Testkalk.xls").Sheets(1).Range("A12").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Workbooks(Filnavn).Close savechanges:=False
    Range("A4:B4").Select
    Application.CutCopyMode = False
Avatar billede zack Nybegynder
12. februar 2003 - 15:39 #4
Den kommer med Fejl 9, indekset er uden for omårdet.
Avatar billede bak Forsker
12. februar 2003 - 15:40 #5
Lige en lille ændring


Application.CutCopyMode = False
    Filnavn = Range("C4").Value & ".xls"
    Workbooks.Open Filename:="\\Fs1\DATA\EM\Kalkulationer\Kalk 2003\" & Filnavn, UpdateLinks:=3
    Sheets(1).Rows("3:58").Select
    Selection.Copy
    Workbooks("Testkalk.xls").Activate
    Sheets(1).Range("A12").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Workbooks(Filnavn).Close savechanges:=False
    Range("A4:B4").Select
    Application.CutCopyMode = False
Avatar billede bak Forsker
12. februar 2003 - 15:42 #6
I hvilken linie melder den fejl ?
Avatar billede zack Nybegynder
12. februar 2003 - 15:43 #7
Ingen ændring.. fejlen skulle ligge i denne sætning:

Workbooks("Testkalk.xls").Activate
Avatar billede zack Nybegynder
12. februar 2003 - 15:45 #8
Bør måske kigge på den oprinde makro... idet jeg havde samme fejl i denne, som blev udbedret.. se evt.: http://www.eksperten.dk/spm/312965

Det var vist også dig, der hjalp mig der...
Avatar billede bak Forsker
12. februar 2003 - 15:52 #9
Kode 9 kan man få hvis projektmappen ikke er åben.
Kig efter stavefejl.
Avatar billede zack Nybegynder
13. februar 2003 - 15:21 #10
Det var det...

Nu kommer denne fejl: Kørselsfejl "1004"

Oplysningerne kan ikke sættes ind, fordi kopier området og indsætningsområdet ikke har samme størrelse og form.

Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
Avatar billede bak Forsker
13. februar 2003 - 21:02 #11
Application.CutCopyMode = False
    Filnavn = Range("C4").Value & ".xls"
    Workbooks.Open Filename:="\\Fs1\DATA\EM\Kalkulationer\Kalk 2003\" & Filnavn, UpdateLinks:=3
    Sheets(1).Rows("3:58").Select
    Selection.Copy
    Workbooks("Testkalk.xls").Activate
    Sheets(1).
Range("A12").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Workbooks(Filnavn).Close savechanges:=False
    Range("A4:B4").Select
    Application.CutCopyMode = False
Avatar billede bak Forsker
13. februar 2003 - 21:04 #12
Hovsa -- fik trykket på udfør før jeg var færdig.
Prøv lige det her. Jeg har ændret en smule.

Application.CutCopyMode = False
    Filnavn = Range("C4").Value & ".xls"
    Workbooks.Open Filename:="\\Fs1\DATA\EM\Kalkulationer\Kalk 2003\" & Filnavn, UpdateLinks:=3
    Sheets(1).Rows("3:58").Select
    Selection.Copy
    Workbooks("Testkalk.xls").Activate
    Sheets(1).Activate
    Range("A12").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Workbooks(Filnavn).Close savechanges:=False
    Range("A4:B4").Select
    Application.CutCopyMode = False
Avatar billede zack Nybegynder
13. februar 2003 - 21:08 #13
Samme fejl.. samme sted..
Avatar billede zack Nybegynder
13. februar 2003 - 21:08 #14
Men kan ikke få den til at "kille" alle links i arket...

Det er selvfølgelig også det du er ved...
Avatar billede bak Forsker
13. februar 2003 - 22:23 #15
Det må jeg sige... Det funker fint ved mig. Du ændrer vel ikke i makroen ??? fx. i denne linie
Range("A12").Select
Det SKAL stå A...
Avatar billede zack Nybegynder
13. februar 2003 - 22:31 #16
Nej.... jeg ændrer ikke noget... den stopper ved denne linie. Måske hjælper det hvis du får filen...
Avatar billede zack Nybegynder
13. februar 2003 - 22:36 #17
Husk det foregår i 97.
Avatar billede bak Forsker
13. februar 2003 - 22:44 #18
send til tommybak@netscape.net
Avatar billede zack Nybegynder
13. februar 2003 - 23:16 #19
Sendt...
Avatar billede bak Forsker
14. februar 2003 - 00:24 #20
Nu tror det virker. der kopieres nu af to gange, først normalt og dernæst laves dette om til værdier.
Du har hængt fast i roden til alt ondt i excel --Flettede celler--
Dette burde afskaffes i fremtidige xl-versioner


Sub Makro16()
    Application.ScreenUpdating = False
    Filnavn = Range("C4").Value & ".xls"
    Workbooks.Open FileName:="C:\Documents and Settings\Dokumenter\" & Filnavn, UpdateLinks:=3
    Sheets(1).Rows("3:58").Select
    Selection.Copy Destination:=Workbooks("Testkalk23.xls").Sheets(1).Range("A12")
    Workbooks("Testkalk23.xls").Activate
    Sheets(1).Rows("12:67").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Application.CutCopyMode = False
    Workbooks(Filnavn).Close savechanges:=False
    Range("A4:B4").Select
    Application.ScreenUpdating = True
End Sub
Avatar billede bak Forsker
14. februar 2003 - 00:25 #21
PS. husk lige at sætte rigtig sti ind.
Avatar billede zack Nybegynder
14. februar 2003 - 11:25 #22
Nu er den ved at være der....

Det laver dog fejl, hvis det ark den skal kopiere fra, ikke er gemt i det rigtige ark. Den skal altid kopiere fra det første ark.

Fejl:

Sheets(1).Rows("3:58").Select
Avatar billede zack Nybegynder
14. februar 2003 - 11:33 #23
Tror jeg... det er fejl 1004.
Avatar billede bak Forsker
14. februar 2003 - 11:35 #24
hvis det ark der skal kopieres fra altid har samme navn er det ikke noget problem.
Sheets("Ark1").Rows("3:58").Select

bare erstat Ark1 med dit arknavn
Avatar billede zack Nybegynder
14. februar 2003 - 11:38 #25
Det har det desværre ikke... men det har virket tidligere.. at den bare skulle tage fra det forreste ark.
Avatar billede bak Forsker
14. februar 2003 - 11:44 #26
Hvor kan du så identificere selve arket der skal hentes data fra ?
Avatar billede zack Nybegynder
14. februar 2003 - 11:46 #27
At det er det første ark, i projektmappen...
Avatar billede zack Nybegynder
14. februar 2003 - 11:46 #28
Hvis det kan lade sig gøre?
Avatar billede bak Forsker
14. februar 2003 - 11:46 #29
Måske har jeg misforstået dig. Skal den altid tage det første ark ?
Avatar billede zack Nybegynder
14. februar 2003 - 11:47 #30
ja!
Avatar billede bak Forsker
14. februar 2003 - 11:55 #31
Så skal Sheets(1).Rows("3:58").Select også virke.
Jeg har ingen problemer med dine ark, men jeg vil da gerne se på det igen.
Avatar billede zack Nybegynder
14. februar 2003 - 12:09 #32
det gør det bare desværre ikke...

Jeg sender lige noget nyt.
Avatar billede zack Nybegynder
14. februar 2003 - 12:15 #33
Sendt...
Avatar billede bak Forsker
14. februar 2003 - 12:26 #34
Ok, det var fordi filen var gemt med ark2 som aktiv.
Jeg har ændret makroen så det ikke længere er et problem

Sub Makro16()
    Application.ScreenUpdating = False
    Filnavn = "\\Fs1\DATA\EM\Kalkulationer\Kalk 2003\\" & Range("C4").Value & ".xls"
    Workbooks.Open FileName:=Filnavn, UpdateLinks:=3
    Sheets(1).Activate
    Rows("3:58").Select
    Selection.Copy Destination:=ThisWorkbook.Sheets(1).Range("A12")
    ThisWorkbook.Activate
    Sheets(1).Rows("12:67").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
        False, Transpose:=False
    Application.CutCopyMode = False
    Workbooks(Filnavn).Close savechanges:=False
    Range("A4:B4").Select
    Application.ScreenUpdating = True
End Sub
Avatar billede zack Nybegynder
14. februar 2003 - 12:35 #35
Hmm.. ja.. nu stopper den her:

Workbooks(Filnavn).Close savechanges:=False

Med fejl 9. Indekset er ud for området.
Avatar billede bak Forsker
14. februar 2003 - 12:42 #36
Check stien for fejl
Avatar billede bak Forsker
14. februar 2003 - 12:44 #37
Der er dobbelt \\ i slutningen
Avatar billede zack Nybegynder
14. februar 2003 - 12:46 #38
Det hjalp ikke.... fejlen kommmer også længere nede...
Avatar billede bak Forsker
14. februar 2003 - 12:59 #39
Hovsa
jeg opdagede først nu at du havde ændret makroen.
det her duer ikke, vend tilbage til det første.

Filnavn = "\\Fs1\DATA\EM\Kalkulationer\Kalk 2003\\" & Range("C4").Value & ".xls"
    Workbooks.Open FileName:=Filnavn, UpdateLinks:=3


Dette skal du bruge.

Filnavn = Range("C4").Value & ".xls"
    Workbooks.Open FileName:="C:\Documents and Settings\Dokumenter\" & Filnavn, UpdateLinks:=3

Når jeg ikke opfangede fejlen skyldes det at inden jeg tester fjerner jeg jo stien til biblioteket
Avatar billede zack Nybegynder
14. februar 2003 - 13:12 #40
Så spiller det!

Tusind tak for hjælpen...
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