Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1952to1956
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

Probleme beim einfügen einer Formel

Probleme beim einfügen einer Formel
13.11.2023 09:44:07
V40
Hallo zusammen

Bis jetzt hatte ich in diesem Forum schon ganz viele Antworten bekommen, in dem ich lediglich die Suchfunktion benutzte. An dieser Stelle mal ein Danke an alle.
Aber irgendwie stehe ich jetzt an. wahrscheinlich liegts an meiner Problem-Formulierung, aber ich komm aktuell grad nicht weiter...

Ich möchte per Code eine Formel einfügen. unten habe ich mal die Befehle rausgezogen die das machen sollen..

Kurze Erklärung dazu:
Auf der Seite "Start" ist eine Auflistung der verschiedenen Reports. Per Button füge ich ein neuer Report ein (externes Excelfile, ein Sheet)
Der code soll dann die Nummer des letzten Reports raussuchen, und den Namen des neuen Sheets mit hochlaufender Nummer vergeben.

Auf der "Start" seite möchte ich automatisch einen Zellbezug auf den neuen Report einfügen. (report x, zelle c7)

 

Dim letztezeile, aktuelleNummer As Integer
Dim name_neu As String

letztezeile = Sheets("Start").Cells(Rows.Count, 1).End(xlUp).Row

aktuelleNummer = Split(ActiveWorkbook.Sheets("Start").Cells(letztezeile, 1), " ")(1)

name_neu = "report " & aktuelleNummer + 1

ActiveWorkbook.Sheets("Start").Cells(letztezeile + 1, 8).FormulaLocal = "='" & name_neu & "'!C7"



in der entsprechende Zelle steht auch die Richtige Formel drin. Nur geht mir jedesmal ein Fenster auf mit dem Titel "Werte aktualisieren" und in der Zelle der Fehler #Bezug. Auch in der Verbindungsliste von Excel taucht dieser "link" auf weil er irgendwie eine externe Datei verlangt.
Wenn ich manuell die Zelle anklicke und Enter drücke, dann funktionierts plötzlich....

Jemand eine Idee, was ich da falsch mache?

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme beim einfügen einer Formel
13.11.2023 12:16:37
Yal
Hallo V40 (Eindeutiger Pseudo ist gut, aber gern sprechen wir dich per Vorname an, wenn Du z.B. mit "Viele Grüße Oliver" abschliesst)

Diese meldung kommt vor, wenn eine Formel auf einem Blatt verweist, das nicht vorhanden ist. z.B., wenn Du die Formel einfügst und dann das Blatt.
Besser wäre, Du listest alle vorhandenen Links (in Spalte A, wenn ich es richtig verstanden habe) und prüfe, welche noch nicht vorkommt.
Es werden Daten in dem Blatt geschrieben. Es sollte vermieden werden, dass die sofortige Aktualisierung stattfindet (u.a. Neuberechnung). EnableEvents macht das.

Sub PrüfeUndErgänze()

Dim Dic As Object
Dim Z As Range
Dim ws As Worksheet

Set Dic = CreateObject("Scripting.Dictionary")
With Sheets("Start").Cells(Rows.Count, 1)
'Sammlen der bisher abgelgeten Links
For Each Z In Range(.Range("A1"), .End(xlUp))
Dic(Z.Value) = 1
Next
'Prüfen und ergänzen
Application.EnableEvents = False
For Each ws In Worksheets
If ws.Name > "Start" Then
If Not Dic.Exists(ws.Name) Then .End(xlUp).Offset(1, 7).Formula = "='" & ws.Name & "'!C7"
End If
Next
Application.EnableEvents = True
End With
End Sub


VG
Yal
Anzeige
AW: Probleme beim einfügen einer Formel
13.11.2023 12:52:59
MCO
Hallo V40!

Du kannst nur auf was verweisen, was auch da ist. Ich kann in deinem Code nirgendwo erkennen, dass du ein Sheet angelegt oder eingefügt hättest.

Folgenden Code hab ich zum Testen mal geschrieben.
Hier wird jeweils ein neues Sheet erzeugt, umbenannt und dann in der Liste aufgeführt.

Teste das mal für Dich.
Sub text()


Set Akt_sheet = ActiveSheet
Set sh = ActiveWorkbook.Sheets.Add(Sheets(Sheets.Count))

sh.Range("C7") = Now()

Sheets(Sheets.Count).Select

letztezeile = Akt_sheet.Cells(Rows.Count, 1).End(xlUp).Row
aktuelleNummer = Split(Akt_sheet.Cells(letztezeile, 1), " ")(1)
sh.Name = "report " & Format(aktuelleNummer + 1, "00")

With Akt_sheet
.Cells(letztezeile + 1, 1) = sh.Name
.Cells(letztezeile + 1, 8).FormulaLocal = "='" & sh.Name & "'!C7"
End With
End Sub

Gruß, MCO
Anzeige
AW: Probleme beim einfügen einer Formel
13.11.2023 13:34:39
V40
Hallo MCO

Besten Dank für deine Antwort.

Ich habe lediglich den zugehörigen Code rauskopiert. Den einfügeprozess findet vorher statt.
Mein Fehler war aber, dass beim eingefügten Sheet noch der Standardname drin war "report" und ich schon auf den neuen Namen verlinken wollte "report X". Und erst danach den Sheet-name angepasst habe. Somit kommt ja logischerweise mein Fehler zustande.
Habs nun geändert auf Blatt einfügen --> Umbenennen --> und Formel einsetzen.

Somit klappt das auch so wies soll.

Gruss
Adi
AW: Probleme beim einfügen einer Formel
13.11.2023 12:29:26
V40
Hallo Yal

Jep, dein Hinweis wenn eine Formel auf einem Blatt verweist, das nicht vorhanden ist. z.B., wenn Du die Formel einfügst und dann das Blatt. wars...
Eigentlich klar wenn man es sieht, aber ich hab mich da echt im Kreis gedreht.

Hab das angepasst und jetzt funktionierts wies soll.

Danke viel mals

mit bestem Gruss

Adi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige