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

Range-Anweisungen in Function mit Fehler 1004, in Makro okay

Range-Anweisungen in Function mit Fehler 1004, in Makro okay
20.01.2020 12:33:45
Steffen
Hallo zusammen,
ich habe folgendes, sehr merkwürdiges Problem:
Sobald ich versuche, in meinem Excel (diverse Dateien, auch extra mal eine neue) in einer Function (liegt in einem Modul) etwas mit dem Range-Objekt schreibend zu veranstalten, bricht mir der Debugger mit einem Error 1004 "Anwendungs- oder objektdefinierter Fehler" ab.
Schreibe ich gleiche Anweisung in eine Sub in ben diesem Modul, klappt es.
Wenn ich die Function über ein Sub (egal ob eigenes oder durch den Makrorecorder erzeugt) aufrufe, dann steigt die Abarbeitung an der Range-Anweisung aus.
Also:
das klappt super:
p = Range(Cells(3,6)).Address).Formula
'oder
q = Range("C6").Formula
die Zuweisung aber nicht:
Range(Cells(3,6)).Address).Formula = "=5+2"
'oder
q = Range("C6").Formula = "5+2"
'oder
r = Range("C6").FormulaLocal = "5+2"
'oder
s = Range("C6").FormulaR1C1 = "5+2"

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Range-Anweisungen in Function mit Fehler 1004, in Makro okay
20.01.2020 12:41:20
Rudi
Hallo,
Functions sind dazu gedacht, Werte zurückzugeben und nicht dazu, Aktionen wie das Schreiben in Zellen durchzuführen.
Davon ab funktioniert es trotzdem.
Was soll der Quatsch:
Range(Cells(3,6)).Address).Formula = "=5+2"
Cells(3,6).Formula="=5+2"
reicht völlig.
Gruß
Rudi
AW: Range-Anweisungen in Function mit Fehler 1004, in Makro okay
20.01.2020 12:44:27
SH95
Hallo Steffen,
teste mal:
Range(Cells(3, 6).Address).Formula = "=5+2"
da war eine Klammer zuviel, allerdings, wenn du die Formel in der Zelle C6 speichern willst, dann so:
Range(Cells(6, 3).Address).Formula = "=5+2"

Weil cells wird so aufgebaut "cells(Zeile,Spalte)"
Gruß
Stefan
Anzeige
Range(Cells(...).Address)....
20.01.2020 12:49:49
Rudi
...ist doppelt gemoppelt.
Du sagst ja auch nicht "Der Mensch mit dem Namen meines Nachbarn" sondern "Mein Nachbar".
Gruß
Rudi
stimmt..
20.01.2020 12:51:10
SH95
Hallo Rudi,
hast recht, war auf die Klammer fixiert...
gruß Stefan
AW: Range(Cells(...).Address)....
20.01.2020 13:54:41
Steffen
Dummerweise bricht
Cells(3,6).Formula="=5+2"
genau so ab. Ich bin auf Range auch erst gekommen, weil ich dachte, dass er eventuell ein Problem mit dem Cells hat.
AW: Range(Cells(...).Address)....
20.01.2020 16:32:46
Rudi
Hallo,
bei mir geht das.
Blattschutz?
Gruß
Rudi
AW: Fehler 1004
20.01.2020 20:38:23
GerdL
Hallo Steffen,
ja, Blattschutz? Verbundene Zellen? Kein Option Explicit u. Fehler in anderer Codezeile?
Ggf. könntest du d(eine) (Beispiels-)Datei, mit diesem Fehler u. deinen Prozeduren hochladen.
Gruß Gerd
Anzeige
AW: Fehler 1004
21.01.2020 09:03:18
Steffen
Hier ist eine Testmappe:
https://www.herber.de/bbs/user/134570.xlsm
Ich hatte einfach auch schon eine ganz neue Datei erstellt. Auch hier funktioniert das nicht. Wenn ich allerdings ein Makro aufnehme oder eine eigene Sub erstelle, dann klappt das. Kann es sein, dass irgend eine Sicherheitseinstellung (Office-GPO) das "Zell-manipulierende" Ausführen von Subs erlaubt, das von Functions aber nicht? Denn das rein lesende Aufrufen klappt in der Function wunderbar.
AW: Fehler 1004 - Zusatz
21.01.2020 09:19:03
Steffen
Rufe ich das Makro in der function auf, dann bricht er an gleicher Stelle ab.
Rufe ich die Function im Makro auf, dann funktioniert alles.
Anzeige
AW: Fehler 1004 - Zusatz2
21.01.2020 09:22:15
Steffen
Ich rufe die Function direkt in einer Zelle über "=Funktionsname()" auf. Liegt das evtl. daran?
AW: Fehler 1004 - Zusatz2
21.01.2020 22:23:49
GerdL
Hallo Steffen,
kurze Antwort: Ja.
Denn mit einer benutzerdefinierten Funktion kannst du so nur den Wert der Zelle ändern,
in der die Formel steht.
Gruß Gerd

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige