Formel nur ein mal verwenden!
Hallo,
folgende Frage:
Ist es Möglich eine Formel nur 1x zu verwenden?
Beispiel - ich habe ein Formular das ein Artikelnr. enthält und dann wird ein druckdatum hinzugefügt.
Nun möchte ich einfach im Artikel eine Zelle versehen die prüft ob dieser Artikel gerade gedruckt wird. Wenn das der Fall ist soll das Druckdatum in die Zelle eingetragen werden, und die Formel nicht mehr benutzt werden.
geht so etwas?
Gruß
Volker
Antwort schreiben
Antwort 1 von rainberg vom 27.10.2020, 15:43 Options
Hallo Volker,
leider kann ich Dir jetzt geistig nicht so richtig folgen.
Fakt ist, wenn Du eine Formel verwendest, die ein Datum (oder auch einen anderen Wert) erzeugt und Du die Formel löschst, ist das Datum oder der erzeugte Wert auch weg.
Du must in diesem Falle auf die Formel verzichten und das Ganze mit Makro erledigen.
Gruß
Rainer
Antwort 2 von korfuweb vom 27.10.2020, 15:50 Options
Genau darum geht es !
Versuche es mal einfacher zu beschreiben:
habe 2 Tabellenblätter in einer Mappe
Mappe 1
Enthält Artikel
zb: A1:Artikelnummer
A2: Artikelbeschreibung
A3: Druckdatum
Mappe 2 enthält ein Formular zum Ausdrucken
Dort wird zb.
A1: mit Artikelnummer versehen
A2: mit Text
A3: mit Druckdatum
So und nun zum eigentlichen:
Mappe 1: Zelle A3 soll nun entsprechend die Formel bekommen,
das Sie prüft: ist A1 identisch mit dieser Artikelnummer - wenn Ja dann bitte Druckdatum von Mappe 2 hier rein schreiben.
Soweit ja alles kein Problem:
Screibe ich jetzt aber in Mappe 2 ne andere Artikelnr. fliegt ja logischerweise das Datum wieder raus. und das soll eben nicht - ist einmal ein Datum in der Zelle, dann soll das auch drin bleiben.
Gruß Volker
Antwort 3 von rainberg vom 27.10.2020, 16:19 Options
Hallo Volker,
Zitat:
Screibe ich jetzt aber in Mappe 2 ne andere Artikelnr. fliegt ja logischerweise das Datum wieder raus. und das soll eben nicht - ist einmal ein Datum in der Zelle, dann soll das auch drin bleiben.
Das ist ja das, was ich meine.
Die Formel unterliegt einem Kriterium und kann nur den gewünschten Wert liefern, wenn das Kriterium WAHR ist.
Insofern nützt Dir die Formel nichts, Du musst das Kriterium per VBA abfragen und so das Datum setzen.
Gruß
Rainer
Antwort 4 von korfuweb vom 27.10.2020, 16:25 Options
mhhh... das hört sich nach viel arbeit an, wenn ich jetzt mal von 200 Artikeln ausgehe - brauch ich also 200 "Makros"?
Gruß Volker
Antwort 5 von rainberg vom 27.10.2020, 16:38 Options
Hallo Volker,
200 Makros brauchst Du mit Sicherheit nicht.
Leider kann ich Dir anhand Deiner bisherigen Beschreibung nichts Konkreteres Sagen.
Vielleicht verstehts jemand anders, oder kannst Du die Mappen hochladen?
Gruß
Rainer
Antwort 6 von korfuweb vom 28.10.2020, 06:58 Options
Mappen hochladen ist schlecht, da das im moment ca.50 Blätter sind die alle irgendwie miteinander verknüpft sind - da bringt das einzelne Blatt nicht wirklich was.
Eigentlich will ich nur das Excel nach druck des "Berichts" diesen beim Artikel vermerkt - eben ein Druckdatum/Bearbeitungsdatum setzt.
Gruß
Volker
Antwort 7 von coros vom 28.10.2020, 07:47 Options
Hallo Volker,
dann erstelle Dir ein Makro, mit dem Du den Druckvorgang ausführst, und das Dir nach dem Druckauftrag in der entsprechenden Zelle das Datum ausgibt.
Als Beispiel würde das folgendermaßen aussehen:
Sub PrinOut()
Sheets("Tabelle1").PrintOut
Range("A1") = Now
End Sub
Bei dem Makro wird das Tabellenblatt mit dem Namen "Tabelle1" ausgedruckt und in dem aktiven Tabellenblatt wird in Zelle A1 das Datum eingefügt.
Eventuell bringt Dich der Tipp ja etwas weiter?
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 8 von rainberg vom 28.10.2020, 10:23 Options
Hallo Volker,
wenn Du folgenden Code in den Codebereich von "DieseArbeitsmappe" kopierst, wird, beim Drucken des Arbeitsblattes, in Zelle A3 des aktiven Arbeitsblattes Datum und Uhrzeit ausgegeben.
Nach längerem Überlegen, vermute ich, dass dies Dein Anliegen war.
Wenn Du nur das Datum brauchst, ersetze
Now durch
Date.
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
.PrintOut
.Range("A3").Value = Now
End With
End Sub
Gruß
Rainer
Antwort 9 von rainberg vom 28.10.2020, 10:33 Options
KorrekturHallo Volker,
sorry, es reicht folgender Code
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.Range("A3").Value = Now
End Sub
Gruß
Rainer
Antwort 10 von coros vom 28.10.2020, 10:40 Options
Hallo Reiner,
Deine letzte AW muss ich leider berichtigen, da hier auch u.U. ein Datum ausgegeben wird, obwohl nicht gedruckt wurde. Grund, z.B. der Wechsel in die Seitenansicht ruft bereits das "Workbook_BeforePrint-Ereignis" auf. Da würde dann ein Datum eingetragen werden, obwohl nicht gedruckt wurde.
Entweder es wird Dein Code aus AW8 oder mein Code aus AW7 genommen. Beide führen zum Ziel.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 11 von rainberg vom 28.10.2020, 11:23 Options
Hallo Oliver,
alles klar :-)
Gruß
Rainer