Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Verknüpfung

Forumthread: Verknüpfung

Verknüpfung
19.04.2021 12:08:55
Mike
Hallo Excel/VBA Gemeinde,
ich habe folgendes Problem bei dem ich verzweifle.
Ich exportiere aus meiner Quelldatei 2 Tabellenblätter.
Diese werden per VBA nur mit Werten gefüllt. (Alles überprüft, keine Formeln, Verknüpfungen, bedingte Formatierungen vorhanden).
Öffne ich jedoch die neue Datei, kommt immer die Meldung " einige Verknüpfungen lassen sich nicht aktualisieren".
Wenn ich danach schaue, verweist er auf die Quelldatei (Fehler, Arbeitsblatt nicht gefunden.)
Verknüpfung löschen geht nicht, es sind auch keine Feldnamen oder Formelbruchstücke aus der Quelldatei zu finden.
Selbst wenn ich versuche per VBA beim Export dies alles zu löschen, kein Erfolg.
Vorab schon mal danke.
Mike
Hier mal der Code:

Sub export()
Dim Pfad$
Dim Name As String
Dim wbkNeu As Workbook
Dim wbkAlt As Workbook
Call unprotect
Pfad = ThisWorkbook.Path 'Pfad der gerade geöffneten Datei
Name = Worksheets("configuration").Range("a1") & "_" & Format(Date, "yyyymmdd") & "21.1" & " _
.xlsx"
If Dir(ThisWorkbook.Path & "\kit calculation\", vbDirectory) = "" Then MkDir (ThisWorkbook. _
Path & "\kit calculation\")
Set wbkAlt = ActiveWorkbook
wbkAlt.Worksheets(Array("summary", "consolidate")).Copy  'Neue Datei erstellen und  _
Tabellenblatt reinkopieren
Set wbkNeu = ActiveWorkbook         'Neue Datei der Variablen zuweisen
With wbkNeu.Worksheets("summary").UsedRange
.Copy
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
.Cells.FormatConditions.Delete    'bedingte formatierung löschen
End With
With wbkNeu.Worksheets("consolidate").UsedRange
.Copy
.PasteSpecial Paste:=xlPasteValues
.PasteSpecial Paste:=xlPasteFormats
.Cells.FormatConditions.Delete
End With
'alle verknüpfungen löschen
Dim arrLinks As Variant, i As Integer
arrLinks = ActiveWorkbook.LinkSources(xlLinkTypeExcelLinks)
If Not IsEmpty(arrLinks) Then
For i = 1 To UBound(arrLinks)
ActiveWorkbook.BreakLink _
Name:=arrLinks(i), _
Type:=xlLinkTypeExcelLinks
Next
End If
Application.CutCopyMode = False
'Neue Datei speichern:
wbkNeu.SaveAs Filename:=Pfad & "\kit calculation\" & Name, FileFormat:=xlOpenXMLWorkbook
'Neue Datei schließen
wbkNeu.Close savechanges = True
Set wbkNeu = Nothing
Set wbkAlt = Nothing
End Sub
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verknüpfung
19.04.2021 12:41:37
EtoPHG
Hallo,
Mögliche Quellen für Verknüpfungen nach dem Kopieren sind:
a) Benannte Bereiche (siehe Namensmanager)
b) Bedingte Formatierungen, die sich mit Formeln auf nicht mehr vorhandene Bereiche beziehen
c) Dropdown-Zellen, die sich auf nicht mehr vorhanden Bereiche beziehen.
Der Code nützt hilft hier nicht, wenn schon müsste man ein (kopierte) Beispielmappe sehen.
Gruess Hansueli
Anzeige
AW: Verknüpfung
19.04.2021 14:11:19
Mike
Hallo Hansueli,
ich war mir sicher alles geprüft zu haben, aber dein HInweis B war die Ursache.
Dazu haben ich dann einige Zellen gefunden.
Kannst du mir eventuell auch sagen wie ich diese bedingte Formatierung per VBA löschen kann?
.Cells.FormatConditions.Delete
Das scheint dann ja nicht zu funktionieren.
vg
Mike
Anzeige
AW: Verknüpfung
19.04.2021 15:16:11
EtoPHG
Hallo Mike,
Zeichne doch das Löschen für die paar gefunden Zellen mit dem Makrorekorder auf und modifiziere in dann, dass er für ganze Zellbereiche gilt.
Gruess Hansueli

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige