Opgelost code voor gebruik van meerdere persoonen

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.
edmoor

alles geprobeerd \\ ervoor zonder de \\ maar nog steeds de fout melding
1733902692279.png

ik snap het niet

grt jannes
 
Je zou deze functie eens kunnen proberen, die heeft het pad niet nodig, alleen de bestandsnaam en de werkmap met de link:

Code:
Public Function BreakaLink(wb As Workbook, fileName As String)
    Dim vLinks As Variant
    Dim linkCt As Long
    vLinks = wb.LinkSources(xlLinkTypeExcelLinks)
    For linkCt = LBound(vLinks) To UBound(vLinks)
        If vLinks(linkCt) Like "*" & fileName Then
            wb.BreakLink vLinks(linkCt), xlLinkTypeExcelLinks
            Exit For
        End If
    Next
End Function
 
jan karel

bedankt voor je reactie maar een domme vraag van mijn kant vanaf waar plaats ik dit
in deze code het vet gedrukte is de oude code wat het probleem genereerd

Range("I1").Select
Selection.Copy
Range("C6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

Sheets("Backload G Unit").Select
Sheets("Backload G Unit").Copy
Sheets("Backload G Unit").Unprotect "gdf"
Range("I1").Select
Selection.ClearContents
ActiveSheet.Shapes.Range(Array("Rectangle 1")).Select
Selection.Delete
ActiveSheet.Shapes.Range(Array("Rectangle 2")).Select
Selection.Delete
Range("D3:G3").Select
Selection.ClearContents
Range("C6").Select
Application.DisplayAlerts = False
ActiveWorkbook.BreakLink Name:= _
"G:\Backload _ Interfield Lijst.xlsm", Type:=xlExcelLinks

ActiveWorkbook.SaveAs Filename:=Environ("Userprofile") & "\OneDrive - Eni\Desktop\" & Format([c6], "yyyy-mm-dd") & " Backload G Unit", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
Application.DisplayAlerts = True
ActiveWindow.Close
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Invullijst").Select
End Sub

grt jannes
 
Op die plek zet je:
Code:
BreakaLink ActiveWorkbook, "Backload _ Interfield Lijst.xlsm"
 
Jan karel

je bedoelt op de ze manier

Range("I1").Select
Selection.Copy
Range("C6").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

Sheets("Backload G Unit").Select
Sheets("Backload G Unit").Copy
Sheets("Backload G Unit").Unprotect "gdf"
Range("I1").Select
Selection.ClearContents
ActiveSheet.Shapes.Range(Array("Rectangle 1")).Select
Selection.Delete
ActiveSheet.Shapes.Range(Array("Rectangle 2")).Select
Selection.Delete
Range("D3:G3").Select
Selection.ClearContents
Range("C6").Select
Application.DisplayAlerts = False
BreakaLink ActiveWorkbook, "Backload _ Interfield Lijst.xlsm"
ActiveWorkbook.SaveAs Filename:=Environ("Userprofile") & "\OneDrive - Eni\Desktop\" & Format([c6], "yyyy-mm-dd") & " Backload G Unit", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
Application.DisplayAlerts = True
ActiveWindow.Close
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
Sheets("Invullijst").Select
End Sub

of moet deze tekst er voledig tussen ik ben lost op dit moment

Public Function BreakaLink(wb As Workbook, fileName As String)
Dim vLinks As Variant
Dim linkCt As Long
vLinks = wb.LinkSources(xlLinkTypeExcelLinks)
For linkCt = LBound(vLinks) To UBound(vLinks)
If vLinks(linkCt) Like "*" & fileName Then
wb.BreakLink vLinks(linkCt), xlLinkTypeExcelLinks
Exit For
End If
Next<br>End Function

grt jannes
 
De functie zelf zet je in een Module.
 
edmoor en jan pieter

ga het er inzetten en proberen en laat het weten of het werkt

grt jannes
 
Edmoor en Jan Pieter

heb het getest en alles zover aangepast en het werkt weer zo als het hoort
ben erg blij met jullie hulp dank daar voor
heb nog een vraag nu heb ik in het bestand 4 Module zitten nu wil ik die terug brengen naar 2 ofzo en dus meerdere codes op een module zetten kan dit en wordt daar door het exel bestand kleiner, of heeft dit gevolgen voor de werking er van dat het trager wordt.

grt jannes

en ik wens jullie alvast prettige feestdagen en een gezond 2025
 
Modules zijn ervoor om gelijksoortige functies of subs bij elkaar te houden, mede omdat je de modules ook een naam kan geven.
Verder doen ze niets voor de werking.
Zorg er wel voor geen lege modules te hebben.
Kan geen kwaad maar ik vind dat altijd slordig.

Wat de feestdagen en het komende nieuwe jaar betreft, uiteraard hetzelfde gewenst :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan