Anzeige
Archiv - Navigation
1504to1508
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Beis xlsm erscheinen plötzlich Verknüpfungen

Beis xlsm erscheinen plötzlich Verknüpfungen
27.07.2016 10:19:49
Ines
Liebe Forum-Spezialisten,
ich habe folgendes Problem:
Datei - wegen neuer Office Version von xls auf xlsm umgerüstet (xls geöffent, mit speichern unter als xlsm gespeichert).
Plötzlich treten Verknüpfungen auf (Meldung beim Öffnen "Diese Arbeitsmappe enthält Verknüpfungen...). Ich arbeite NIE mit Verknüpfungen.
Über "Suche" in Arbeitsmappe und Formeln mit [ habe ich nichts gefunden.
Im Namensmanager wird nichts angezeigt.
Über "Verknüpfungen bearbeiten" bekomme ich auch tatsächlich eine angezeigt. Einfach löschen möchte ich nicht, sondern wirklich wissen wo und was es ist und es elegant lösen und nicht im Blindflug, daher habe ich weitergesucht.
Wenn man nun xlsm durch zip ersetzt (habe ich in einem anderen Forum gefunden), dann "gewinnt man ganz neue Einblicke in die Datei
Im Unterordner "xl" gibt's tatsächlich Einträge zu der angeblich mit meiner Datei verknüpften anderen Excel-Datei und zwar in der Datei: externalLink1.xml"
Jetzt meine Frage:
1) Ich finde jede Menge Tabellenblätter, die ich schon vor Jahren in der Datei gelöscht habe, das sieht so aus:

Wie kann ich diese Tabellenblätter "wirklich" löschen?
Dort finde ich dann auch für eines der Tabellenblätter - so vermute ich - die Quelle allen Überels:

Muss bzw. wie kann ich in den Quellcode der Datei gehen und das Blatt Nr. 76 löschen oder wie kann ich jetzt weiter vorgehen?
Lieben Dank schon mal für die Hilfe!

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Beis xlsm erscheinen plötzlich Verknüpfungen
27.07.2016 14:59:13
Ines
Leider wurde der kopierte Programmcode im Forum nicht angezeigt, daher hier nochma die vollständige Textpassage. Sorry!
Ich finde jede Menge Tabellenblätter, die ich schon vor Jahren in der Datei gelöscht habe, das sieht so aus:
'sheetName val="TabName123"/
Wie kann ich diese Tabellenblätter "wirklich" löschen?
Dort finde ich dann auch für eines der Tabellenblätter - so vermute ich - die Quelle allen Überels:
'sheetData sheetId="77" refreshError="1"/
AW: Beis xlsm erscheinen plötzlich Verknüpfungen
27.07.2016 16:12:23
Piet
Hallo Ines
ich meine den Namen Tränkle hätte ich schon mal im Schwarzwald gehört?
zu diesem Thema ein Code von Hajo, aus seiner Bastelkiste. Der fügt eine
extra Tabelle in die Mappe ein und findet alles. Probier in mal aus.
mfg Piet
Option Explicit                                     ' Variablendefintion erforderlich
'Verknüpfungen Hajo
Sub Verknuepfte_Zellen()
'* H. Ziplies                                     *
'* 24.08.08                                       *
'* erstellt von HajoZiplies@web.de                *
'* http://Hajo-Excel.de/
On Error GoTo Fehler1                           ' Fehlerbehandlung ausschalten
Dim RaZelle As Range                            ' Variable für aktuelle Zelle
Dim ByMldg As Byte                              ' Variable Meldung
Dim WsSh As Worksheet                           ' Variable Tabelle
Dim ObZelle As Object                           ' Variable für Namen
For Each WsSh In Worksheets                     ' Schleife über alle Tabellen der Datei
' Prüfen ob Tabelle schon vorhanden
If InStr(WsSh.Name, "Verknüpfungen") > 0 Then
ByMldg = MsgBox("Eine Tabelle mit dem Namen " _
& "Verknüfungen ist schon vorhanden, sollen die " _
& "Daten gelöscht werden", vbYesNo + vbQuestion, _
"Löschabfrage ?", "", 0)
If ByMldg = 6 Then              ' Ja wurde gedrückt
' Zellen komplett löschen,
' da schon bestimmte Formate eingestellt
WsSh.Cells.Delete
' Kennzeichnen dass Tabelle schon vorhanden
ByMldg = 45
' Schleife verlasse, da Tabelle gefunden
Exit For
Else
Exit Sub
End If
End If
Next WsSh
Application.ScreenUpdating = False              ' Bildschirmaktualisierung ausschalten
Application.EnableEvents = False                ' Reaktion Eingabe abschalten
If ByMldg  45 Then                            ' Tabelle anlegen falls noch nicht  _
vorhanden
' Anlegen hinter der letzten Tabelle ubnd Namen geben
Sheets.Add(after:=Sheets(Sheets.Count)).Name = "Verknüpfungen"
With ActiveWindow
.SplitRow = 2
.FreezePanes = True
End With
End If
With Worksheets("Verknüpfungen")
' Überschriftszeilen
' Formel mit Ergebnis Fehler
.Cells(1, 1) = "Formel mit Ergebnis Fehler"
.Cells(2, 1) = "Zelle"
.Cells(2, 2) = "Tabelle"
.Cells(2, 3) = "Formel"
' Formel zu anderen Arbeitsmappe
.Cells(1, 5) = "Formel zu anderen Arbeitsmappe"
.Cells(2, 5) = "Zelle"
.Cells(2, 6) = "Tabelle"
.Cells(2, 7) = "Formel"
' Formel zu anderen Tabellen in dieser Arbeitsmappe
.Cells(1, 9) = "andere Tabelle"
.Cells(2, 9) = "Zelle"
.Cells(2, 10) = "Tabelle"
.Cells(2, 11) = "Formel"
' restliche Formel
.Cells(1, 13) = "Rest"
.Cells(2, 13) = "Zelle"
.Cells(2, 14) = "Tabelle"
.Cells(2, 15) = "Formel"
' definierte Namen in dieser Arbeitsmappe
.Cells(1, 17) = "definierte Namen"
.Cells(2, 17) = "Name"
.Cells(2, 18) = "Zelle"
.Cells(2, 19) = "Tabelle"
Rows("1:2").Font.Bold = True
For Each WsSh In Worksheets                 ' Schleife über alle Tabellen
If WsSh.Name  "Verknüpfungen" Then
' Schutz aufheben falls vorhanden
' WsSh.Unprotect "Passwort"
On Error Resume Next
Set RaZelle = WsSh.UsedRange.SpecialCells(xlCellTypeFormulas)
Set RaZelle = Nothing
If Err.Number = 0 Then
On Error GoTo 0
' Schleife über den benuzten Bereich mit Formel
For Each RaZelle In WsSh.UsedRange.SpecialCells(xlCellTypeFormulas)
' Formeln mit Fehler
If IsError(RaZelle.Value) Then
.Cells(.Cells(.Rows.Count, 1).End(xlUp).Row + 1, 1) _
= RaZelle.Address(0, 0)
.Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 2) _
= CStr(WsSh.Name)
.Cells(.Cells(.Rows.Count, 1).End(xlUp).Row, 3) _
= "'" & RaZelle.FormulaLocal
' Formel zu anderer Arbeitsmappe
ElseIf InStr(RaZelle.Formula, ":\")  0 Then
.Cells(.Cells(.Rows.Count, 5).End(xlUp).Row + 1, 5) _
= RaZelle.Address(0, 0)
.Cells(.Cells(.Rows.Count, 5).End(xlUp).Row, 6) _
= CStr(WsSh.Name)
.Cells(.Cells(.Rows.Count, 5).End(xlUp).Row, 7) _
= "'" & RaZelle.FormulaLocal
' Formel zu andere Tabelle
ElseIf InStr(RaZelle.Formula, "!") > 1 Then
.Cells(.Cells(.Rows.Count, 9).End(xlUp).Row + 1, 9) _
= RaZelle.Address(0, 0)
.Cells(.Cells(.Rows.Count, 9).End(xlUp).Row, 10) _
= CStr(WsSh.Name)
.Cells(.Cells(.Rows.Count, 9).End(xlUp).Row, 11) _
= "'" & RaZelle.FormulaLocal
Else               ' restliche Formeln
.Cells(.Cells(.Rows.Count, 13).End(xlUp).Row + 1, 13) _
= RaZelle.Address(0, 0)
.Cells(.Cells(.Rows.Count, 13).End(xlUp).Row, 14) _
= CStr(WsSh.Name)
.Cells(.Cells(.Rows.Count, 13).End(xlUp).Row, 15) _
= "'" & RaZelle.FormulaLocal
End If
Next RaZelle
End If
On Error GoTo 0                     ' Fehlerbehandlung einschalten
End If
' WsSh.Protect "Passwort"               ' Schutz wieder setzen
Next WsSh
' Programmteil Namen auslesen
' Schleife über alle Namen der Datei
For Each ObZelle In ActiveWorkbook.Names
.Cells(.Cells(.Rows.Count, 17).End(xlUp).Row + 1, 17) _
= ObZelle.Name
With .Cells(.Cells(.Rows.Count, 17).End(xlUp).Row, 18)
If InStr(ObZelle, "REF")  0 Then
.Value = Mid(ObZelle, InStr(ObZelle, "!") + 1)
.Font.Bold = True
.Font.ColorIndex = 3
ElseIf InStr(ObZelle, "\")  0 Then
.Value = Mid(ObZelle, InStr(ObZelle, "!") + 1)
.Font.Bold = True
.Font.ColorIndex = 4
Else
.Value = Mid(ObZelle, InStr(ObZelle, "!") + 1)
End If
End With
If InStr(ObZelle.RefersTo, "!") > 0 Then
.Cells(.Cells(.Rows.Count, 17).End(xlUp).Row, 19) _
= Application.WorksheetFunction.Substitute(Mid(ObZelle, _
2, InStr(ObZelle, "!") - 2), "'", "")
Else
.Cells(.Cells(.Rows.Count, 17).End(xlUp).Row, 19) _
= ObZelle.RefersTo
End If
Next
.Range("B:C,F:G,J:K,N:O, R:S").EntireColumn.AutoFit
' Überschriftszeilen
' Formel mit Ergebnis Fehler
.Cells(1, "A") = "Zellen mit Ergebnis Error"
' Formel zu anderen Arbeitsmappe
.Cells(1, "E") = "Formeln zu anderen Arbeitsmappen"
' Formel zu anderen Tabellen in dieser Arbeitsmappe
.Cells(1, "I") = "Formeln zu anderen Tabellen"
' restliche Formel
.Cells(1, "M") = "restliche Formeln"
' definierte Namen in dieser Arbeitsmappe
.Cells(1, "O") = "Namen in dieser Arbeitsmappe"
End With
Fehler1:
On Error GoTo 0                                 ' Fehlerbehandlung eimschalten
If Err  0 Then MsgBox "Es ist ein Fehler aufgetreten!"
Application.ScreenUpdating = True               ' Bildschirmaktualisierung einschalten
Application.EnableEvents = True                 ' Reaktion Eingabe einschalten
End Sub

Anzeige
AW: Beis xlsm erscheinen plötzlich Verknüpfungen
27.07.2016 16:23:12
Ines
Hallo Piet,
lieben Dank für Deine Hilfe. Ich habe die Quelle ja über das Zippen schon gefunden, aber wie krieg ich jetzt die uralten Tabellenblatt-Namen gelöscht - denn dort liegt das Problem.
Vielen Dank schon mal an alle, die sich für mich Gedanken machen!
Ines
AW: Beis xlsm erscheinen plötzlich Verknüpfungen
27.07.2016 19:37:50
Piet
Hallo Ines
kannst du das Ergebnis von Hajo mal als Tabellenblatt oder Word DownLoden.
Ich nehme an es ist nicht die Tabelle, sondern eine Zelle oder ein Objekt
wird mit der Tabelle verbunden sein. Es könnte eine Formel sein die zu der
anderen Tabelle hinführt. Dann musst die die Formel löschen. Manchmal ein
Button den man kopiert hat, wo das Makro mit der andern Datei verknüft ist.
Oder Verküpfung in einem Listfeld oder DropDown Box zur externen Tabelle.
Aus der Liste müsste man ersehen können -was genau- mit wem verknüpft ist?
mfg
Anzeige
AW: Beis xlsm erscheinen plötzlich Verknüpfungen
29.07.2016 13:09:35
Ines
Hallo Piet,
das ich aus Sicherheitsgründen bei uns keine Makros aus dem Netz benützen darf, dann ich das Ergebnis von Hajo leider nicht posten. Es ging nun aber ganz ohne Makro starten. Ein Kollege hatte noch einen guten Einfall, mittels Ausschlussverfahren nach Objekten zu suchen - und siehe da, es wurden welche gefunden. Auf jeden Fall aber vielen Dank für die Hilfe, denn letztlich haben die Inhalte des Programms von Hajo doch bewirkt, dass wir schließlich and er richtigen Stelle gesucht haben.
Also danke an alle!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige