Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bezugsfehler bei Tabelle-löschen verhindern

Bezugsfehler bei Tabelle-löschen verhindern
Jockel
Hallo,
habe ein kleines Problem mit Formeln. Ich versuche es mal in einem einfachen Rahmen zu erklären:
Habe eine Mappe mit zwei Tabellenblättern. In der ersten Mappe habe ich in A1 eine Verknüpfung auf das zweite Tabellenblatt ebenfalls auf die Zelle A1. (=Tabelle2!A1)
Nun muss ich das zweite Tabellenblatt an jemand schicken und der füllt Daten nach und sendet zurück.
(Er darf nur das eine bekommen)
Ich würde nun gerne einfach das alte, kopierte, Tabellenblatt aus meiner Mappe entfernen und das zurückgesendete Tabellenblatt vom Kollege mit den neuen Daten bei mir einfügen. So, dass auch die verknüpfung wieder funktioniert.
das Problem: lasse ich in meiner Mappe das "Tabellenblatt2" drin und füge sein "Tabellenblatt2" bei mir ein, verweist meine Verknüpfung nicht auf das neue Blatt, müsste manuell angepasst werden.
Lösche ich zuerst mein "Tabellenblatt2" um das neue "Tabellenblatt2" einzufügen, hat Excel den Bezug vergessen und findet die Daten nicht mehr im neuen Sheet.
Meine Frage dazu:
Kann ich in meiner Mappe das "Tabellenblatt2" löschen, OHNE dass der Bezug von Tabellenblatt1/A1 auf das "Tabellenblatt2/A1 verloren geht und nach dem einfügen des neuen Tabellenblattes der Bezug wieder stimmt ?
Ich weiss, das ist ein blödes vorgehen, aber ist halt so entstanden und es handelt sich nicht nur um einen Bezug, sondern um viele. Wäre also ein großes Geschäft, das manuell wieder anzupassen.
Hat da jemand eine Idee ?
Danke mal
Jockel
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Bezugsfehler bei Tabelle-löschen verhindern
06.06.2011 10:39:07
oberschlumpf
Hi Jockel
Du kannst den Bezug per VBA setzen.
Sub sbBezug()
Range("A1").FormulaLocal = "=neueTabelle2!A1"
End Sub

Für
neueTabelle2
musst du natürlich den richtigen Blattnamen eintragen, bzw die neue Tabelle muss immer so heißen, wie im Code vorgegeben.
Sollte das neue Tabellenblatt immer am Ende der Blätter stehen, dann kannst du auch mit dem Index arbeiten.
dann ersetze die obige Zeile durch diese:
Range("A1").FormulaLocal = "=" & Sheets(Sheets.Count).Name & "!A1"
Das Makro kannst du dann immer nach dem Hinzufügen des neuen Blattes starten.
Und für alle anderen Bezüge kannst du genau so verfahren.
Hilfts?
Ciao
Thorsten
Anzeige
AW: Bezugsfehler bei Tabelle-löschen verhindern
06.06.2011 10:47:11
Jockel
Hi Thorsten,
OK, habe ich soweit verstanden. Das heisst, ich muss dann aber ein Makro schreiben, dass ALLE meine Bezüge kennt. Hmmm, viel Arbeit.
Das aktualisieren, dass die Mappe schon beim löschen eines Tabellenbalttes erkennt, dass der Bezug ungültig wird, kann man nicht ausschalten, Mappen tauschen und dann wieder einschalten ?
Danke
Jockel
Anzeige
is mir nich bekannt...owT
06.06.2011 11:52:20
oberschlumpf
Kopiere die Daten owT
06.06.2011 10:46:43
Rudi
andere Idee
06.06.2011 11:12:17
Rudi
Hallo,
verschiebe Blatt2 in eine neue Mappe. Dann lautet der Bezug z.B. =[Mappe1]Blatt2!A1
Jetzt kopierst du Blatt2 des Kollegen in deine Mappe. Anschließend Bearbeiten-Verknüpfungen-Quelle ändern und deine Mappe auswählen. Hierdurch wird der externe Bezug aufgehoben. Das importierte Blatt muss hierbei immer so heißen, wie das exportierte (Blatt2)
Gruß
Rudi
Anzeige
andere Idee per VBA
06.06.2011 11:49:35
Rudi
Hallo,
in deine Mappe:
Sub Blatt_importieren()
Dim strFile As String, strTemp As String
Const strWks As String = "Blatt2"
strTemp = ThisWorkbook.Path & "\Temp.xls"
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Importdatei wählen"
.InitialFileName = ThisWorkbook.Path & "\*.xls"
If .Show = -1 Then
strFile = .SelectedItems(1)
End If
End With
If strFile  "" Then
Application.ScreenUpdating = False
Sheets(strWks).Move
With ActiveWorkbook
.SaveAs strTemp
.Close
End With
With Workbooks.Open(strFile)
.Sheets(strWks).Move after:=ThisWorkbook.Sheets(1)
.Close False
End With
With ThisWorkbook
.ChangeLink strTemp, .Name, 1
End With
Kill strTemp
End If
End Sub

Gruß
Rudi
Anzeige
AW: Bezugsfehler bei Tabelle-löschen verhindern
06.06.2011 11:45:05
Reinhard
Hallo Jockel,
vielleicht so:
Sub FormelnAUS()
Dim Zelle As Range
With ThisWorkbook.Worksheets("Tabelle1").UsedRange
For Each Zelle In .SpecialCells(xlCellTypeFormulas)
Zelle.FormulaLocal = "#Ä#" & Zelle.FormulaLocal
Next Zelle
End With
End Sub

Sub FormelnEIN()
Dim Zelle As Range
With ThisWorkbook.Worksheets("Tabelle1").UsedRange
.Replace What:="#Ä#", Replacement:="", LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:= _
False
End With
End Sub

Gruß
Reinhard
Anzeige
Vielen Dank an alle, Super Ideen :-) owT
07.06.2011 11:39:03
Jockel
Danke vielmals
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Bezugsfehler beim Löschen von Excel-Tabellenblättern vermeiden


Schritt-für-Schritt-Anleitung

  1. Verknüpfung im ursprünglichen Tabellenblatt erstellen: Sorge dafür, dass dein erstes Tabellenblatt eine Verknüpfung auf das zweite Tabellenblatt hat. Beispiel: In Zelle A1 schreibe =Tabelle2!A1.

  2. Tabellenblatt vorbereiten: Bevor du das zweite Tabellenblatt löschst, stelle sicher, dass du das neue Blatt mit dem gleichen Namen (z.B. "Tabelle2") bereit hast.

  3. VBA zur Aktualisierung der Bezüge verwenden:

    Sub sbBezug()
       Range("A1").FormulaLocal = "=Tabelle2!A1"
    End Sub
  4. Altes Tabellenblatt löschen: Lösche das alte Tabellenblatt. Prüfe, ob die Verknüpfungen noch funktionieren.

  5. Neues Tabellenblatt einfügen: Füge das neue Tabellenblatt in die Excel-Mappe ein. Stelle sicher, dass der Name identisch ist.

  6. Bezug aktualisieren: Wenn der Bezug nicht mehr funktioniert, führe das VBA-Makro erneut aus, um die Verknüpfungen zu aktualisieren.


Häufige Fehler und Lösungen

  • Fehler: "Excel der Bezug ist ungültig" Popup
    Lösung: Stelle sicher, dass das neue Blatt den gleichen Namen hat wie das alte. Wenn du den Namen änderst, musst du die Verknüpfung manuell anpassen.

  • Fehler: Excel Blatt löschen geht nicht
    Lösung: Überprüfe, ob das Blatt, das du löschen möchtest, geschützt ist. Du musst den Blattschutz aufheben.

  • Fehler: Bezug Excel entfernen nicht möglich
    Lösung: Wenn ein Bezug auf ein nicht existentes Blatt verweist, erstelle ein neues Blatt mit dem alten Namen, um den Bezug zu retten, bevor du das Blatt endgültig entfernst.


Alternative Methoden

  • Daten in eine neue Mappe verschieben: Du kannst das Tabellenblatt in eine neue Excel-Mappe verschieben. Der Bezug wird dann extern, z.B. =[Mappe1]Tabelle2!A1. Später kannst du die Quelle ändern, um den Bezug zu aktualisieren.

  • VBA-Skript verwenden: Rudi schlägt vor, ein VBA-Skript zu verwenden, um das Blatt zu importieren, das die Bezüge automatisch aktualisiert:

    Sub Blatt_importieren()
       ' Hier den Code einfügen
    End Sub

Praktische Beispiele

  1. Bezug mit VBA setzen:

    Sub SetBezug()
       Dim ws As Worksheet
       Set ws = ThisWorkbook.Sheets("Tabelle1")
       ws.Range("A1").Formula = "=Tabelle2!A1"
    End Sub
  2. Formeln temporär deaktivieren: Mit einem weiteren VBA-Skript kannst du Formeln in deiner Tabelle temporär deaktivieren:

    Sub FormelnAUS()
       Dim Zelle As Range
       With ThisWorkbook.Worksheets("Tabelle1").UsedRange
           For Each Zelle In .SpecialCells(xlCellTypeFormulas)
               Zelle.FormulaLocal = "#Ä#" & Zelle.FormulaLocal
           Next Zelle
       End With
    End Sub

Tipps für Profis

  • Bezüge regelmäßig überprüfen: Halte deine Bezüge im Blick, besonders nach dem Löschen oder Verschieben von Blättern.

  • Makros für häufige Aufgaben nutzen: Speichere Makros, um die Arbeit mit Bezügen zu automatisieren. So kannst du schnell auf Änderungen reagieren.

  • Einfache Benennung: Halte die Namen deiner Tabellenblätter einfach und nachvollziehbar, um Verwirrung zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich Excel-Bezüge entfernen, ohne die Formeln zu verlieren?
Du kannst den Bezug vorübergehend deaktivieren, indem du die Formeln in Text umwandelst. Später kannst du die Formeln wieder aktivieren.

2. Warum erscheint der Fehler "Bezug ist ungültig"?
Dieser Fehler tritt auf, wenn ein Bezug auf ein entferntes oder umbenanntes Tabellenblatt verweist. Überprüfe die Blattnamen und passe die Formeln entsprechend an.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige