Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Excel-Verknüpfungen "einfrieren"

Frage Microsoft Microsoft Office

Mitglied: blauaklasse

blauaklasse (Level 1) - Jetzt verbinden

01.07.2005, aktualisiert 04.07.2005, 7258 Aufrufe, 2 Kommentare

Ich habe eine ganze Menge von Excel-Files (für jedes Jahr jeweils eine) in denen immer Verknüpfungen auf die Vorjahre enthalten sind, damit Vergleiche möglich sind (sind Finanzzahlen). Die ganz alten Files brauch ich eigentlich nicht mehr, kann die aber nicht löschen bzw. in einen Archivbereich verschiegen weil ich sonst nur noch Verknüpfungsfehler in allen Files bekomme .

Gibts eine Möglichkeit automatisch Verknüpfungen durch die aktuellen Werte zu ersetzten (manuell geht nicht, sonst dauerst Wochen bis ich da durch bin) und damit die Zahlen der alten Jahre einfrieren kann ?

Ich hab nichts gefunden - vielleicht kann mir jemand helfen.

Vielen Dank
Mitglied: 10545
01.07.2005 um 19:29 Uhr
Folgendes Makro:

Sub VerknuepfungenLoeschen()
Dim varLinks
Dim lngLinkCount As Long
Dim i As Long
Dim strLinkedFile As String
Dim lngChrPos As Long
Dim objRefName As Name
Dim strExtRef As String
Dim objWSh As Worksheet
Dim LinkRange As Range
Dim ar As Range

varLinks = ActiveWorkbook.LinkSources(xlExcelLinks)
If IsArray(varLinks) Then
lngLinkCount = UBound(varLinks)
For i = 1 To lngLinkCount
strLinkedFile = varLinks(i)
Do
lngChrPos = InStr(1, strLinkedFile, "\")
strLinkedFile = _
Right(strLinkedFile, _
Len(strLinkedFile) - lngChrPos)
Loop Until lngChrPos = 0
For Each objWSh In ActiveWorkbook.Worksheets
Set LinkRange = GetLinkRange(objWSh, _
strLinkedFile)
If Not LinkRange Is Nothing Then
For Each ar In LinkRange.Areas
ar.Value = ar.Value2
Next ar
End If
Next objWSh
Next i
End If
For Each objRefName In ActiveWorkbook.Names
If InStr(1, objRefName.RefersTo, ".xl") > 0 Then
strExtRef = objRefName.Name
For Each objWSh In ActiveWorkbook.Worksheets
Set LinkRange = GetLinkRange(objWSh, strExtRef)
If Not LinkRange Is Nothing Then
For Each ar In LinkRange.Areas
ar.Value = ar.Value2
Next ar
End If
Next objWSh
objRefName.Delete
End If
Next objRefName
End If
End Sub



Function GetLinkRange _
(objSheet As Worksheet, _
strSearchFor As String) _
As Range
Dim TempCell As Range
Dim TempRange As Range
Dim strTempAdr As String

With objSheet.UsedRange
Set TempCell = _
.Find _
(What:=strSearchFor, _
LookIn:=xlFormulas, _
LookAt:=xlPart)
If Not TempCell Is Nothing Then
strTempAdr = TempCell.Address
Set TempRange = TempCell
Do
Set TempCell = .FindNext(TempCell)
If Not TempCell Is Nothing Then
Set TempRange = Application.Union(TempRange, _
TempCell)
End If
Loop While _
Not TempCell Is Nothing _
And TempCell.Address <> strTempAdr
End If
End With
Set GetLinkRange = TempRange
End Function

Bitte <font color="red">vorher</font> ein Backup der Originale anlegen!!
Gruß, Rene
Bitte warten ..
Mitglied: blauaklasse
04.07.2005 um 07:51 Uhr
Hallo Rene,

danke - ist ja ziemlich aufwendig. Werd ich mir in einer ruhigen Minuten mal genauer anschauen und testen.
Sollts Probs geben würd ich mich nochmal melden.

Vorerst Danke
Uli
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
Excel (2016): Enthaltenen Text suchen (2)

Frage von ralfkausk zum Thema Microsoft Office ...

VB for Applications
gelöst EXCEL VBA Zellen verbinden. MERGE (6)

Frage von Aximand zum Thema VB for Applications ...

VB for Applications
gelöst VBA Excel Skript - Hilfe! (1)

Frage von Compu2017 zum Thema VB for Applications ...

Microsoft Office
VBA Code zum Kopieren von einzelnen Zellen in Excel (3)

Frage von SebastianL zum Thema Microsoft Office ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Netzwerke
LAN2LAN Verbindung sehr langsam flaschenhals gesucht (27)

Frage von PixL86 zum Thema Netzwerke ...

LAN, WAN, Wireless
Rogue Access Point (20)

Frage von Axel90 zum Thema LAN, WAN, Wireless ...

Webbrowser
Windows 7 unbeliebte Internetseite sperren (13)

Frage von Daoudi1973 zum Thema Webbrowser ...

E-Mail
Fake E-Mail in Outlook für Demonstartionszwecke (12)

Frage von sascha382 zum Thema E-Mail ...