Avatar billede jean01ad Praktikant
10. oktober 2007 - 11:19 Der er 11 kommentarer og
1 løsning

Indsæt sti

Hejsa

Jeg ville være meget taknemmelig hvis jeg kan få hjælp med nedenstående.

Jeg har et ark som er bygget op omkring makroer, formler mm. Dette ark trækker på en pivottabel der er dynamisk, og således ændre tallene sig hele tiden. Jeg vil gerne kunne kommentere på de tal der fremkommer, og når jeg så skal diskuttere dem med kollegaer, også have de samme tal - altså ikke have fået nogen opdateringer. Derfor har jeg lavet en makro, der ligger mine tal, samt kommentarer over i et nyt excelark og slette de links der er (det bliver jeg nød til, for at graferne ikke skal blive relateret med kæder). Den makro jeg har lavet fungere også glimrende, når jeg ikke beslutter mig for at ligge mine excelark på andre placeringer:

Sub statisk()
Sheets("Kommentarark").Select
    Cells.Select
    Range("B11").Activate
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste
    ActiveWorkbook.BreakLink Name:="H:\ScoresheetSalg\2\Scoresheet 2.0.xls", _
        Type:=xlExcelLinks
    Range("T22").Select
    ActiveSheet.ChartObjects("Diagram 2").Activate
    ActiveChart.SeriesCollection(3).Select
    ActiveWindow.Visible = False
   
End Sub

Mit problem er, at jeg gerne vil kunne ligge arket på forskellige pc, med forskellige sti placeringer, og skal jeg rette min sti, hver gang. Findes der en metode til at få makroen til selv at finde placeringen af filen og så sætte den sti ind, så breaktet sker dertil. HJÆLP Tak!
Avatar billede kabbak Professor
10. oktober 2007 - 12:07 #1
ActiveWorkbook.BreakLink Name:=ThisWorkbook.path &"Scoresheet 2.0.xls", _
        Type:=xlExcelLinks
Avatar billede kabbak Professor
10. oktober 2007 - 12:07 #2
ActiveWorkbook.BreakLink Name:=ThisWorkbook.path &"\Scoresheet 2.0.xls", _
        Type:=xlExcelLinks
Avatar billede jean01ad Praktikant
10. oktober 2007 - 13:34 #3
Det virker desværre ikke

Jeg får blot en fejlmeddelse der hedder metod 'breaklink'_'workbook' failed
Avatar billede word-hajen Nybegynder
10. oktober 2007 - 17:06 #4
Er der links, der IKKE må brydes? Hvis nej, tænkte jeg på, om ikke man kunne køre alle links af typen xlExcelLinks igennem og bryde linket.
Avatar billede jean01ad Praktikant
11. oktober 2007 - 08:45 #5
Nej der er ikke nogen links der ikke må brydes. Arket skal være fuldstændig fri for formler og links. Dine tanker kan derfor måske godt fungere, men hvad skal man gøre for at teste det?

Jeg er glad for jeres forsøg på at hjælpe

Jean
Avatar billede word-hajen Nybegynder
11. oktober 2007 - 23:22 #6
Sub RemoveExcelLinks()
    Dim varLinks As Variant
    Dim i As Integer
   
    varLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
   
    If Not IsEmpty(varLinks) Then
        For i = UBound(varLinks) To 1 Step -1
            ActiveWorkbook.BreakLink varLinks(i), xlLinkTypeExcelLinks
        Next i
    End If
End Sub
Avatar billede jean01ad Praktikant
12. oktober 2007 - 09:57 #7
Øv, jeg troede ellers  at dette ville virke - men det gør det desværre ikke. Min kode ser nu ud som nedenstående, men den bryder ikke nogen links. Dvs. at der både er referencer i formler og diagrammer. Jeg kan ellers rigtig gode lide ideen med, at den bare bryder alle links uanset stiplacering, så jeg håber du kan se hvad jeg gør galt.

Sub statisk()

Dim varLinks As Variant
Dim i As Integer
   
varLinks = ActiveWorkbook.LinkSources(xlExcelLinks)

Sheets("Kommentarark").Select
    Cells.Select
    Range("B11").Activate
    Selection.Copy
    Workbooks.Add
    ActiveSheet.Paste

If Not IsEmpty(varLinks) Then
        For i = UBound(varLinks) To 1 Step -1
            ActiveWorkbook.BreakLink varLinks(i), xlLinkTypeExcelLinks
        Next i
    End If     

End Sub
Avatar billede word-hajen Nybegynder
12. oktober 2007 - 16:46 #8
Jeg tror nu nok, at den bryder links - men det ser ud til, at det er noget andet, du mener. For nu taler du om referencer i formler og det er koden ikke beregnet til. Men jeg tænkte på noget helt andet - opstår referencerne ikke, fordi du hiver formler osv. med over fra det oprindelige ark? Skal du ikke "bare" have indsat værdierne i et nyt ark?

For så kan du prøve at kigge på ActiveSheet.PasteSpecial i stedet for blot .Paste.
Avatar billede jean01ad Praktikant
15. oktober 2007 - 09:42 #9
Jeg forstår godt hvad du mener, men jeg kan desværre ikke bare indsætte værdier. Jeg skal bruge de samme formater som der er i det oprindelige ark, og de er lidt kryptisk opsat med sammenfletninger o.lig. Dvs. hvis jeg først indsætter værdier, og dernæst prøver at indsætte formater, så får jeg en fejlmeddelse.

Defor anvendte jeg koden: ActiveWorkbook.BreakLink Name:="H:\ScoresheetSalg\2\Scoresheet 2.0.xls",Type:=xlExcelLinks. Den bryder nemlig også referencer, dvs. tal der er hente med de automaiske indsatte referncer bliver omdannet til "permanente tal". Det havde jeg håbet, at dit forlag også gjorde.

Spørgsmålet står altså stadig, men som skrevet er jeg rigtig glad for din indsats.
Avatar billede word-hajen Nybegynder
15. oktober 2007 - 19:03 #10
Øhhhh... i øvrigt. Prøv lige at flytte linjen med varLinks = ActiveWorkbook.LinkSources(xlExcelLinks) ned efter ActiveSheet.Paste. Du tæller jo links op i den aktive fil, før du kopierer, laver nyt ark og indsætter. Så du har slet ikke fat i links i den nye Workbook.
Avatar billede jean01ad Praktikant
18. oktober 2007 - 12:08 #11
Ja...det kan jeg egentlig godt se - det hjælper gevaldigt på det, hvis jeg ændre det. Faktisk er det helt perfekt, så du får tusind tak for hjælpen..Du skriver bare, så er der point...
Avatar billede word-hajen Nybegynder
18. oktober 2007 - 14:38 #12
Velbekomme.

Faktorernes orden er nogle gange vigtig :-) Fedt, at det "bare" var det.
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