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

Forumthread: Problem "#Bezug!"

Problem "#Bezug!"
26.05.2008 11:39:43
M
Hallo Forumsgemeinschaft,
wieder einmal plagt mich ein Problem bei der Erstellung meines Exceltools.
Nachdem ich es nun über ein Makro hinbekommen habe, dass automatisch tabellenblätter erzeugt und gelöscht werden, habe ich nun das folgende Problem:
- Es können/sollen maximal 10 Tabellenblätter erzeugt werden (das funktioniert soweit)
- Ich habe mir ein Auswertungstabellenblatt angelegt, in dem vorgesehen ist, dass Werte aus diesen 10 Tabellenblättern über eine Wennfunktion (es ist eine Prüfung der Werte notwendig) erfolgt.
- Wenn ich nun in der Auswertungstabelle eine Verknüpfung zu z.B. Tabellenblatt 8 erstelle, dann funktioniert die Übernahme der Werte(sofern auch tatsächlich 8 Tabellenblätter erzeugt wurden). Lasse ich jetzt allerdings nur 7 Tabellenblätter erzeugen kommt der Fehler "#Bezug!" für die Werte in den Tabellenblättern 8 bis 10. Ich möchte aber im Falle, dass nicht alle 10 Tabelleblätter erzeugt wurden, das für die nicht erzeugten Tabellenblätter in der Auswertungstabelle der Wert 0 steht und falls dann doch alle Tabellenblätter erzeugt werden, dass auch die entsprechenden Werte übernommen werden. Das funktioniert aber nicht. Selbst wenn ich in der Auswertungstabelle auf alle 10 Tabellenblätter verweise, kommt es im falle dass Tabellenblätter gelöscht werden und zu einem späteren Zeitpunkt wieder erzeugt werden, stets zu dem "Ergebnis": "#Bezug!"- was ein unbefriedigender Zustand ist. Hat jemand schon mal mit einem ähnlichen Problem zu tun gehabt?
Ich würde mich über Antworten sehr freuen.
Viele Grüße
Marc

Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
=Wenn(istfehler('Deine Formel');0;'Deine Formel')
26.05.2008 11:58:00
David
... wäre die Lösung als normale Formel. Mir ist nicht ganz klar geworden, ob du das als VBA oder Formel brauchst.
Gruß
David

AW: =Wenn(istfehler('Deine Formel');0;'Deine Forme
26.05.2008 12:01:00
Renee
Hi David,
Dein Vorschlag funktioniert nicht, wenn Tabellenblätter gelöscht werden, werden die Bezüge durch #Bezug!ersetz. Verhindern kannst du das nur durch INDIREKT... (s.unten)...oder eben durch VBA (korrigieren der Formeln oder ersetzen durch 0-Werte).
GreetZ Renée

Anzeige
AW: Problem "#Bezug!"
26.05.2008 11:59:00
Renee
Hi Marc,
Excel gut?
Arbeite mit Formeln des Typs:

=WENN(ISTFEHLER(INDIREKT("Tabelle2!A10"));0;INDIREKT("Tabelle2!A10"))


GreetZ Renée

AW: Problem "#Bezug!"
26.05.2008 12:36:00
M
Hey David, Hey Renée,
danke für die Hinweise.
Die idee mit wenn und indirekt hatte ich auch - nur leider ist da das Problem, dass der den Wert nicht auf 0 setzt, wenn das Tabellenblatt gelöscht wird - deswegen scheidet auch diese variante aus. Wie könnte das als VBA aussehen - oder habt ihr noch ne andere Idee wie man es vllt. als Excelformel besser lösen kann (wäre mir lieber, wenn ich hierfür ne Excelformel verwenden könnte)
Danke und viele Grüße
Marc

Anzeige
AW: Problem "#Bezug!"
26.05.2008 12:40:00
M
... ah, da fällt mir grad noch was auf, wenn ich das Tabellenblatt lösche und dann wieder erstelle, dann bezieht der sich auch nicht auf das wieder erstellte Tabellenblatt ...
schwierig, schwierig

Warum denn auch?! Die Verbindung ist ja...
26.05.2008 12:46:00
Luc:-?
...zwischenzeitig verloren gegangen und nicht wieder neu erstellt worden!
Gruß Luc :-?

Anzeige
Problem mit Problem...
26.05.2008 13:03:00
Renee
Hi Marc,
dass der den Wert nicht auf 0 setzt, wenn das Tabellenblatt gelöscht wird
Wer ist der? und wieso funktioniert das bei mir?
lösche und dann wieder erstelle, dann bezieht der sich auch nicht auf das wieder erstellte Tabellenblatt ... wenn die Namen des Tabelleblatts in der INDIREKT-Formel richtig sind, funktioniert auch das!
GreetZ Renée

Anzeige
AW: Problem mit Problem...
26.05.2008 16:42:45
M
hi zusammen,
jetzt funktionert das zwar alles wunderbar, allerdings stürzt excel jetzt jedes mal ab, wenn ich tabellenblätter lösche --- alles ziemlich ungünstig :( - woran kann das liegen?
Grüße,
marc

AW: Problem mit Problem...
26.05.2008 16:55:00
Renee
Hi Marc,
Wir können deinen Code nicht sehen, du schon!
Für weitere Auskünfte bitte hier klicken
GreetZ Renée

Anzeige
AW: Problem mit Problem...
26.05.2008 17:27:18
M
hier ist der code:
=WENN(WENN(ISTFEHLER(INDIREKT("Unit?9!B15"));0;INDIREKT("Unit?9!B15"))="MR";1; WENN(WENN(ISTFEHLER(INDIREKT("Unit?9!B15"));0;INDIREKT("Unit?9!B15"))="PR/MR";1; WENN(WENN(ISTFEHLER(INDIREKT("Unit?9!B15"));0;INDIREKT("Unit?9!B15"))="SR/MR";1; WENN(WENN(ISTFEHLER(INDIREKT("Unit?9!B15"));0;INDIREKT("Unit?9!B15"))="PR/SR/MR";1;0))))
grüße
Marc

Anzeige
VBA Code nicht Formeln!
26.05.2008 17:29:00
Renee

AW: Problem mit Problem...
26.05.2008 18:26:00
M

Private Function MakeWorksheets(name As String, anzahl As Integer, times() As Date) As Integer
Dim ws1 As Worksheet
Dim ws As Worksheet
Dim wslast As Worksheet
Dim nr As Integer
On Error Resume Next
Set ws1 = ThisWorkbook.Worksheets(name & " 1")
If ws1 Is Nothing Then
MakeWorksheets = ERR_NOFIRSTWORKSHEET
Else
If anzahl > 0 Then MakeWorksheets = MakeTimeTable(ws1, times)
Set wslast = ws1
nr = 2
Do
Set ws = Nothing
Set ws = ThisWorkbook.Worksheets(name & " " & nr)
If ws Is Nothing Then
If nr  anzahl Then 'löschen
ThisWorkbook.Application.DisplayAlerts = False
ws.Delete
ThisWorkbook.Application.DisplayAlerts = True
End If
End If
If nr  0 Then Exit Do
Set wslast = ws
nr = nr + 1
Loop While Not ws Is Nothing
If nr 


Anzeige
AW: Problem mit Problem...
27.05.2008 10:58:00
Renee
Hi Marc,
jetzt funktionert das zwar alles wunderbar, allerdings stürzt excel jetzt jedes mal ab, wenn ich tabellenblätter lösche --- alles ziemlich ungünstig :( - woran kann das liegen?
Ich betrachte deinen Code als ziemlich ungünstig:
- Der Code ist für mich nicht verständlich geschrieben und v.a. nicht dokumentiert!
- Was macht z.B. MakeTimeTable? Wieso ist MakeWorksheets eine Function?
- Wieso du etwa ein Blatt addierst, und erst nachher feststellt, dass es zuviel ist?
- Wieso du mit Error Resume Next arbeitest und nur bestimmte (von dir erwartete) Fehler abfängst?
- Unnötige Befehle (v.a. Set Anweisungen) gebrauchst?
GreetZ Renée
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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