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

Formel mit VBA

Formel mit VBA
11.11.2016 08:45:58
Till
Folgende Situation: Ich trage eine Formel mit FormulaLocal ein. Dies ergibt einen #Bezug Fehler. Wenn ich aber kurz F2 und Enter drücke dann stimmt die Formel. Kann sich das jemand erklären?
for i = 1 to anzahl
Formel = "=wenn('Frage " & i & "'!B19:I33="""";"""";'Frage " & i & "'!B19:I33)"
wkb.Cells(19 + i - 1, 2).FormulaLocal = Formel

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel mit VBA
11.11.2016 08:58:13
ChrisL
Hi Till
wkb müsste wks sein.
Ansonsten Beispieldatei laden, damit man die Variablen prüfen kann.
cu
Chris
AW: Formel mit VBA
11.11.2016 09:20:45
Till
Die Variablen passen schon. In gewisser Weise funktioniert es ja auch. Die Formel steht als Formel in der Zelle und gibt nur einen Bezugsfehler zurück. Wenn ich ohne etwas zu verändern einfach nur in die Zelle reingehe und Enter drücke dann ist der Fehler weg und die Formel funktioniert.
Da es sich um ein Firmendokument handelt kann ich es leider nicht hochladen.
AW: Formel mit VBA
11.11.2016 09:34:05
ChrisL
dann kann ich auch nicht helfen...
Die Ursache ist ein Syntax-Fehler, welcher sich anhand der vorhandenen Informationen nicht rekonstruieren lässt.
Anzeige
AW: Formel mit VBA
11.11.2016 09:40:07
Till
Welche Informationen fehlen denn?
Das Tabellenblatt auf das zugegriffen wird heißt Frage 1,2,3,4 etc.
With wkb.Worksheets(1)
.Activate
For i = 1 To anzahl
Formel = "='Frage " & i & "'!B19:I33)"
.Cells(19 + i - 1, 2).FormulaLocal = Formel
Next
End With

AW: Formel mit VBA
11.11.2016 09:50:38
ChrisL
Es fehlt eine Beispieldatei... die muss ja keine sensible Daten enthalten.
Ich habe mir die Mühe gemacht, den Code in einer leeren Mappe zu testen und funktioniert. Warum es bei dir nicht funktioniert, kann ich aus der Ferne auch nicht sagen (vielleicht ein Leerschlag zu viel im Blattnamen? Vielleicht ist Variable anzahl falsch... usw.). Auf Rätselraten habe ich aber keine Lust, der Ball ist bei Dir.
Anzeige
AW: Formel mit VBA
11.11.2016 10:35:58
Till
Anbei die Datei. Ich hoffe, dass du damit etwas anfangen kannst.
Gerade als ich es für dich hingerichtet habe ist mir aufgefallen, dass das Problem an den verbundenen Zellen liegen könnte, oder? Aber es kann ja nicht sein, dass nur, weil man etwas auf das Design schaut, dann Excel nicht mehr richtig verwenden kann.
Kannst es dir ja mal ansehen. Danke schomal!
In Modul1 der beispielhafte Code.
https://www.herber.de/bbs/user/109338.xlsm
AW: Formel mit VBA
11.11.2016 10:37:34
Till
Zusatz noch: Es ging gestern schonmal, dann sind anscheinend die Server abgeschmiert, denn heute morgen war alles was ich am Nachmittag gemacht hatte weg (ich hatte gespeichert).
Bin mir nicht 1000% sicher, dass die verbundenen Zellen da schon waren, aber 999%.
Anzeige
AW: Formel mit VBA
11.11.2016 10:37:41
Crazy
Hallo
was passiert denn wenn du es so einträgst?
.Cells(19 + i - 1, 2).FormulaLocal = "='Frage " & i & "'!B19:I33)"
MfG Tom
AW: Formel mit VBA
11.11.2016 10:43:56
Till
Das hatte ich auch schonmal gemacht, das hatte nichts geändert. Ich versuche es trotzdem nochmal kurz
AW: Formel mit VBA
11.11.2016 10:45:36
Till
ich fass es nicht -.- Probiere es noch schnell in der richtigen Datei. Wenn es daran lag dann muss ich mich wohl für das Verschwenden eurer Zeit entschuldigen. Hast du eine Idee wieso das so ist?
AW: Formel mit VBA
11.11.2016 10:45:05
Daniel
Hi
in der Formel steht ein Zellbereich an einer Stelle, an welcher nur ein Einzelwert erwartet wird.
normalerweise verwendet Excel dann nur die erste Zelle dieses Zellbereichs, weshalb ich mir den Fehler nicht so ganz erklären kann.
Aber ändere die Formel mal derart ab, dass du nur die Linke obere Zelle (B2) des Zellverbundes angibts.
In der Linken oberen Zelle steht normalerweise auch der Inhalt eines Zellverbundes, von daher reicht es aus, auf diese Zelle zu referenzieren:
Formel = "=wenn('Frage " & i & "'!B2="""";"""";'Frage " & i & "'!B2)"
der Bezugfehler hat natürlich seine Berechtigung, wenn du in der Abfrage eine falsche Zahl angibst und somit versuchst, auf ein Tabellenblatt zu refernzieren, dass nicht vorhanden ist.
Gruß Daniel
Anzeige
AW: Formel mit VBA
11.11.2016 10:48:32
Till
das ist nur eine Beispieldatei. In der Richtigen kann nicht auf ein falsches Tabellenblatt referenziert werden. Zudem habe ich geschaut, wie Excel auf die verbundene Zelle referenziert und das war eben als Bereich. Ich werde es trotzdem kurz ausprobieren, um sicher zu gehen, dass es auch wirklich stimmt was ich hier erzähle. Danke für den Beitrag!
AW: Formel mit VBA
11.11.2016 10:49:56
Till
Es bleibt leider das gleiche Problem. Es wird ein Bezugsfehler angezeigt, der eigentlich keiner ist.
AW: Formel mit VBA
11.11.2016 12:58:58
ChrisL
Hi Till
Ich sehe zwar den Bezugsfehler, wenn ich das Makro jedoch laufen lasse ist der Bezugsfehler weg. Ich arbeite zwar mit XL 2007, aber ein Versionenproblem kann ich mir nur schlecht vorstellen.
Somit kann ich das Problem weiterhin nicht rekonstruieren.
Dies unabhängig davon, ob die Zellen verbunden sind oder nicht und ebenfalls unabhängig vom berechtigten Hinweis von Daniel.
Vielleicht könnte man mal probieren die Formel auf englisch zu schreiben:
Formel = "=IF('Frage " & i & "'!B2="""","""",'Frage " & i & "'!B2)"
...Formula = Formel
cu
Chris
Anzeige
AW: Formel mit VBA
11.11.2016 13:35:05
Till
Leider hat das auch nichts geholfen... Ich verstehe wirklich nicht wo das Problem liegt. Mit dem exakt gleichen Code funktioniert es in einer anderen Datei aber nicht in der in der ich es benötige...
AW: Formel mit VBA
11.11.2016 11:39:10
Till
Also nochmal zusammengefasst.
Ich könnte mir vorstellen, dass das Problem an den verbundenen Zellen liegt. Es geht aber nicht ganz ohne, daher die Frage liegt es daran, wenn ja, was muss ich ändern.
Da ich das Gefühl hatte, dass einige es nicht verstanden hatten was ich gemeint habe, jetzt nochmal eine genaue Problembeschreibung.
Die Formel wird eingefügt und gibt einen Bezugsfehler aus und das obwohl sie sich in keiner Weise unterscheidet von der Formel die in der Zelle steht, wenn ich es händisch mache. Ich verstehe nicht warum.
Viele Grüße und danke an alle bis hierhin
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige