19. februar 2009 - 09:38
Der er
3 kommentarer og
1 løsning
Makro - opdate og slet link til ekstern dataområde
Hej alle..
Jeg sidder med et lille problem
Jeg har en excel mappe fra excel 2003 som består 5 ark.
fra ark 2-5 hentes data via "importer ekstern data" fra en anden excel mappe.
På ark 1 vil jeg så gerne lave 2 knapper
knap 1 = opdater alle ark (ark 2-5's data område)
knap 2 = slet de eksterne link på ark 2-5
Knap og almen makro kan jeg godt lave, men kun via record mode. VB er ikke min stærke side, og jeg formoder det er den vej rundt min svar findes.
Mappen bruges til tilbudsgivning med link til div. prislister.
Når tilbudet er udregnet skal priserne jo bibeholdes og ikke opdateres med evt. opdatering af globalt prisark. Da jeg så mister det aktuelle priser jeg har sendt til kunden.
På forhånd tak
OY-NYB
19. februar 2009 - 10:37
#1
prøv med:
Sub OpdaterAlle()
ActiveWorkbook.RefreshAll
End Sub
Public Sub SletQueryTabels()
Dim SH As Worksheet, QT As Object
For Each SH In ActiveWorkbook.Sheets
For Each QT In SH.QueryTables
QT.Delete
Next
Next
End Sub
19. februar 2009 - 10:50
#2
Du kan finde en makro til opdatering af alle links her:
' Macro created 26/10/01 by Doug Robbins to update links in a document
'
Dim alink As Field, linktype As Range, linkfile As Range
Dim linklocation As Range, i As Integer, j As Integer, linkcode As Range
Dim Message, Title, Default, Newfile
Dim counter As Integer
counter = 0
For Each alink In ActiveDocument.Fields
If alink.Type = wdFieldLink Then
Set linkcode = alink.Code
i = InStr(linkcode, Chr(34))
Set linktype = alink.Code
linktype.End = linktype.Start + i
j = InStr(Mid(linkcode, i + 1), Chr(34))
Set linklocation = alink.Code
linklocation.Start = linklocation.Start + i + j - 1
If counter = 0 Then
Set linkfile = alink.Code
linkfile.End = linkfile.Start + i + j - 1
linkfile.Start = linkfile.Start + i
Message = "Enter the modified path and filename following this
Format " & linkfile
Title = "Update Link"
Default = linkfile
Newfile = InputBox(Message, Title, Default)
End If
linkcode.Text = linktype & Newfile & linklocation
counter = counter + 1
End If
Next alink
og til sletning:
aLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(aLinks) Then
For i = 1 To UBound(aLinks)
lnam = aLinks(i)
ActiveWorkbook.BreakLink Name:=lnam, Type:=xlExcelLinks
Next i
End If