Avatar billede hjald8 Nybegynder
25. august 2008 - 09:51 Der er 6 kommentarer og
1 løsning

Slet Link til andre workbooks

Hej

Forsøgt at få slettet links til andre regneark uden held via VBA. Og det skal være via makroer/VBA. Fordi det bruges af mange i forskellige sammenhænge. Det bruges også mange gange.

Der er p.t. kun link til en Excelfil.

Det største problem er at jeg ikke engang kan slette/afbryde linket via: Data/Rediger Kæder.

Men jeg har forsøgt med denne lille kode for at fjerne kæden via VBA (tyvstjålet fra forskellig side - som selvfølgelig giver problemer hvis der er flere end 1 link):

aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(aLinks) Then
    For i = 1 To UBound(aLinks)
        LinkSomSlettes = aLinks(i)
    Next i
End If

ActiveWorkbook.BreakLink Name:=LinkSomSlettes, Type:=xlExcelLinks
Avatar billede hjald8 Nybegynder
25. august 2008 - 09:56 #1
Alternativt skal jeg jo kopier alle celler (det er 3 ark)som har [..] i formlen til værdier. Her er jeg dog ikke helt sikker på hvordan jeg identificerer [ i formlen i cellen, istedet for værdien.
Avatar billede x-lars Novice
25. august 2008 - 14:37 #2
Denne kan ikke lave det via VBA, men er alligevel meget praktisk og fleksibel:

http://www.oaltd.co.uk/DLCount/DLCount.asp?file=FindLink.zip

Når du har installeret den, har du et punkt "FindLinks" i Funktioner-menuen. Når du starter den, kan du vælge at lede efter bestemte links eller alle links og du kan vælge, om du blot vil have dem listet eller bare slettet. Når linksene bliver slettet, står værdien tilbage i cellen.
Avatar billede hjald8 Nybegynder
25. august 2008 - 14:46 #3
Helt enig. Den er rigtig smart. Har brugt den. Men jeg vil gerne have, at brugerne ikke skal i gang med at installere denne og igennem disse processer. Hvis jeg kunne indbygge det i nuværende makroer.

Jeg har også set på Ron de Bruin's:
Sub Break_Links_To_other_Excel_Workbooks()
    Dim WorkbookLinks As Variant
    Dim wb As Workbook
    Dim i As Long

    Set wb = ActiveWorkbook

    WorkbookLinks = wb.LinkSources(Type:=xlLinkTypeExcelLinks)
    If IsArray(WorkbookLinks) Then
        For i = LBound(WorkbookLinks) To UBound(WorkbookLinks)
            wb.BreakLink _
                    Name:=WorkbookLinks(i), _
                    Type:=xlLinkTypeExcelLinks
        Next i
    Else
        MsgBox "No Links to other workbooks"
    End If
End Sub

som jeg faktisk ikke kan få til at virke på mine dokumenter.
Avatar billede x-lars Novice
25. august 2008 - 15:35 #4
Hmmmm, den virker perfekt hos mig - og meget hurtigt?!?
Avatar billede hjald8 Nybegynder
25. august 2008 - 15:57 #5
Tænkte det nok. Jeg bruger Excel 2007. Som nævnt allerførst har jeg også problemer med at slette linket via de almindelige funktioner/knapper i Excel. Altså via 'Data', og 'Forbindelser', samt 'Redigere kæder'. Her kan jeg heller ikke slette en kæde.

Det kan være at filen inden ovennævnte sub, skal redigeres opsættes/tilpasses således at den er modtagelig for ændringer........ ?
Avatar billede x-lars Novice
25. august 2008 - 16:11 #6
Lyder rigtigt. Men der kan jeg desværre ikke hjælpe, da jeg "kun" har Excel 2003. :(
Avatar billede hjald8 Nybegynder
29. oktober 2008 - 18:23 #7
Spørgsmålet lukkes.
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