=VorherigesBlatt(A1)
#1
Hallo an Alle,
ich habe diese Formel genutzt um bei jedem Tabellenblatt auf das vorhergehende Blatt zuzugreifen. =VorherigesBlatt(A1)
Klappt auch super.

Code wäre folgender:
Function VorherigesBlatt(Bezug As Range) As Range
    Set VorherigesBlatt = Worksheets(Application.Caller.Parent.Index - 1).Range(Bezug.Address)
End Function


Jetzt tritt nur dieser Fehler auf:

sobald ich auf den einzelnen Blätter zahlen ändere, wird es nicht übernommen auf das nächste Tabellenblatt. Außer ich bestätige kurz die Formel mit einem Enter.

Excel ist auf automatisch berechnen gestellt. Fehler tritt bei drei Windows PCs auf und F9 hilft auch nicht.

Hängt es mit dem Code zusammen?

Vielen Dank
Gruß Max
Top
#2
Setze die Funktion auf volatil. Syntax weiß ich grad nicht. Oder:

=VorherigesBlatt()+0*JETZT()
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#3
(06.11.2019, 18:18)LCohen schrieb: Setze die Funktion auf volatil. Syntax weiß ich grad nicht.

Tach!
Code:
Function Vol()
Application.Volatile
Vol = "Wann immer Du willst!" & " " & Now
End Function

:19:
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#4
Hallo,
dankeschön

Die Formel =VorherigesBlatt()+0*JETZT() 
-klappt bei Zahlen sehr gut bei Datum Übernahmen von Vorblättern schmeisst sie mir 110 Jahre etwa rauf

Den Code hab ich noch nicht zum laufen bekommen.
Diesen Code einfach ins Modulfenster des anderen mit einfügen?

Danke
Gruß Markus
Top
#5
Moin!
Ich habe die UDF volatil gesetzt (siehe oben).
Funktioniert bei mir problemlos mit allen möglichen Datentypen.

PHP-Code:
Function VorherigesBlatt(Bezug As Range) As Range
Application
.Volatile
    Set VorherigesBlatt 
Worksheets(Application.Caller.Parent.Index 1).Range(Bezug.Address)
End Function 

B
103.05.1963
2Peter
32

ZelleFormatWert
B1TT.MM.JJJJ03.05.1963

ZelleFormel
B1=VorherigesBlatt(A1)
B2=VorherigesBlatt(A2)
B3=VorherigesBlatt(A3)

Gruß Ralf

(06.11.2019, 21:04)Maxit schrieb: Den Code hab ich noch nicht zum laufen bekommen.
Diesen Code einfach ins Modulfenster des anderen mit einfügen?

Was meinst Du damit?
Die UDF kommt in ein allgemeines Modul (Einfügen, Modul).
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#6
Hallo Ralf,
hatte deine Formel beim VBA Fenster eingefügt.
Ist das richtig?

Die Formel greifen auch richtig auf das hervorgehende Blatt zu, aktualisieren leider nur bei Änderungen erst wenn man jede Formel einzeln mit Enter bestätigt.
Mit der "jetzt" Ergänzung klappt das bei Zahlen echt super. Leider nur nicht beim Datum.

Was mache ich vielleicht falsch?

Danke
Gruß
Top
#7
Da ein Datum eine Zahl ist, ist Dein Datum keine Zahl. Klingt vielleicht bescheuert, ist aber dann so.

=ISTZAHL()
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#8
Verstehe ich nicht.

Wenn ich das im Folgeblatt einfüge: =VorherigesBlatt()+0*JETZT() 

rechnet er alles live mit

Sobald aber keine "Zahl" im Vorblatt steht sondern ein Datum steht irgendwas mit 1.1.2138 im Folgeblatt

Gruß 
Top
#9
Tja.

1.1.1900 = 1
1.1.2019 = x
1.1.2138 = 2 * x (ungefähr)

Leuchtet es?
WIN/MSO schicken angeblich alle 5 Sekunden Deinen Screen heim zu Papa (recall-Klausel). 
Top
#10
Leider nicht.

Wenn ich "jetzt" entferne aktualisiert er nicht automatisch.

Gruß
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste