bron van koppeling wijzigen bij openen excelbestand

Status
Niet open voor verdere reacties.

wouter noppe

Gebruiker
Lid geworden
15 okt 2009
Berichten
11
Beste experts

ik wil graag dat wanneer ik een bepaald excelbestand open, meteen het venster te voorschijn komt van de koppelingen en waar ik de bron kan wijzigen.Bekijk bijlage 159181

Kan ik dit oplossen met vba code of eventueel zelf een userform maken waar ik de bron kan wijzigen?

Kan iemand mij helpen?

Alvast bedankt!
 
Kun je dat niet aangeven door de knop Prompt bij opstarten in het bijlage schermpje aan te klikken?
 
Ik zou gaan voor een Userform en kijk dan eens in de VBA-help bij ChangeLink.
 
Ik zou gaan voor een Userform en kijk dan eens in de VBA-help bij ChangeLink.

Heb ik ook al aan gedacht. Alleen moet ik in vba de link naar het oorspronkelijk bestand zetten. Dit zou echter telkens moeten wijzigen.
Het bestand moet namelijk wekelijks van bron veranderen.

Dit had ik al gevonden:
ChDir "Naam bestand1"
ActiveWorkbook.ChangeLink NewName:= "Naam bestand2", Type:=xlExcelLinks

"Naam bestand2" zou moeten wijzigen door te bladeren in de mappen, "Naam bestand1" zou automatisch moeten wijzigen in de bron die op dat moment in het excel bestand staat. En zo ver reikt mijn kennis niet:confused:
 
Alleen moet ik in vba de link naar het oorspronkelijk bestand zetten. Dit zou echter telkens moeten wijzigen.
Het bestand moet namelijk wekelijks van bron veranderen.

Klinkt niet slim.
Ik zou het bestand waaraan het Excel bestand gekoppeld is per week vervangen door het nieuwe bestand.
 
Is spijtig genoeg ook geen optie. De bestanden moeten allemaal behouden blijven met telkens de betreffende datums in de naam.
 
Laatst bewerkt door een moderator:
Vraag dan eerst de naam v/d oude koppeling op met LinkSources en gebruik deze dan in Changelink.
 
Bedankt voor je tip.

Ik heb onderstaande code er nu instaan en het werkt perfect. Ik ben weer gelukkig (en m'n baas ook ;)).

Code:
Dim varSource As Variant
Dim varLinks() As Variant
Dim i As Integer

kies = MsgBox("Kies een ander excel bestand of klik annuleren", vbInformation, "Kies ander bestand")

varLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(varLinks) Then
    For i = 1 To UBound(varLinks)
         varSource = Application.GetOpenFilename("Excel Files (*.xls), *.xls")
         If varSource <> False Then
            ActiveWorkbook.ChangeLink _
            Name:=varLinks(i), NewName:=varSource, _
            Type:=xlExcelLinks
         End If
    Next i
End If
 
Laatst bewerkt door een moderator:
Is spijtig genoeg ook geen optie. De bestanden moeten allemaal behouden blijven met telkens de betreffende datums in de naam.
Was het al bij je opgekomen om 1 bestand aan het excelbestand ('met_koppeling.xls') te koppelen ? bijv. met de naam 'koppeling.xls'.
Als de bestanden die behouden moeten blijven, en gekoppeld moeten worden aan het bestand met de koppelingen en zo'n bestand heet bijv. G:\omzet 04_2010.xls dan is deze macro voldoende:

Code:
sub snb()
  copyfile "G:\OF\omzet 04_2012.xls" , "G:\koppeling.xls"
  workbooks.open "G:\met_koppeling.xls"
End Sub

Val gebruikers niet lastig met wat je met code al vooraf had kunnen oplossen.
 
Daar het bestand steeds aan een ander bestand moet gekoppeld worden, lijkt me dit niet te werken.
Dankzij de tip van Warm Bakkertje kon ik m'n probleem oplossen, dus lijkt me niet dat ik gebruikers onnodig lastig val! Als je geen zin hebt om mijn post te lezen of te beantwoorden, laat het dan.
 
Lees zelf eens wat beter !
Wat denk je dat je met Application.getopenfilename doet ?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan