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

function - #Wert!

function - #Wert!
21.01.2020 09:51:57
Steffen
Moin zusammen,
ich habe in einer Excel-Tabelle mittels VBA eine eigene "function" angelegt, die auch soweit funktioniert. Mit Hilfe eines weiteren Makros kann ich neue Tabellenblätter hinzufügen. Beim Hinzufügen eines neuen Tabellenblatts berechnet Excel im Hintergrund alle Zellen in der Excel-Datei neu. Das führt dazu, dass dann die "function" Rohrreibungszahl "#Wert!" in dem bestehenden Tabellenblatt zurückgibt. Problem ist wohl, dass die "function" auf Zellenwerte aus dem aktuellen Tabellenblatt mit "ActiveSheet" zurückgreift und das beim automatisierten Neuberechnen nicht aktiv ist. Kennt ihr Möglichkeiten, um das Problem zu beheben?
Varianten wie

Application.Calculation = xlCalculationManual

helfen leider nicht. Beim Zurücksetzen zum automatisierten Rechnen tritt dann der Fehler auf.

Function Rohrreibungszahl(y, Re, k) As Double
N = 11 + y
V = ActiveSheet.Cells(N, 4).Value
k = ActiveSheet.Cells(N, 31).Value / 1000
d = ActiveSheet.Cells(N, 28).Value / 100
Abschnitt der Berechnung - Endergebnis wird auf der Variablen "l" gespeichert!
Rohrreibungszahl = l End Function
Liebe Grüße und vielen Dank
Steffen

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: function - #Wert!
21.01.2020 10:04:41
Steffen
Hallo Steffen,
wo wird denn die Function aufgerufen?
Wenn ich das richtig verstanden habe, soll diese Funktion in dem neuen Tabellenblatt ihre Berechnungen durchführen oder in allen Blättern der Mappe?
Wenn ersteres - dann wechsel vorher entweder automatisch zum neuen Blatt oder sprich es besser direkt an via neuesBlatt = Worksheets("NameDerNeuenTabelle")
V = neuesBlatt.Cells(N, 4).Value
... - wenn letzteres, dann gehe mit einer Schleife einfach alle verfügbaren Tabellen durch.
AW: function - #Wert!
21.01.2020 10:22:07
Steffen
Moin Herr Korn,
die Function sind in den einzelnen Zellen hinterlegt.
Beim Debuggen ist mir aufgefallen, dass Excel beim automatischen Aktualisieren auf die angelegte function für jedes Blatt zu greift.
Der Weg mittels
AktivesBlatt=ActiveSheet.Name
AktivesBlatt.Cells(N, 4).Value 

funktioniert nicht, da ActiveSheet.Name immer nur das sichtbare ist.. Also es passt sich beim automatischen Aktualisieren nicht an.
Anzeige
lass ActiveSheet weg. owT
21.01.2020 13:05:20
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige