Zähler in Excel

1093
vitor

Meine Datei enthält 50 Blatt, wobei jedes Blatt ein Standardformular ist. Gibt den Namen als Form1, Form2, Form3 an.

Ich möchte ein Druckblatt erstellen, in dem ich das gewünschte Formular auswähle, sodass ich nicht zwischen den Blättern navigieren muss, um das gewünschte Formular zu finden. Und ich möchte einen Zähler in diesem Druckbogen haben, der bei jedem Versand an einen Drucker zählt.

Was habe ich bisher gemacht? Ich habe diese Formel erstellt, wobei M1 eine Dropdown-Liste mit den Formularnamen ist. Wenn ich also Form2 sehen möchte, wähle ich Form2 in der Dropdown-Liste aus und die Formel zeigt alle Form2-Seiten an.

=IF($M$1="Form1";IF('Form1'!A1="";"";'Form1'!A1);"")&IF($M$1="Form2";IF('Form2'!A1="";"";'Form2'!A1);"")&IF($M$1="Form3";IF('Form3'!A1="";"";'Form3'!A1);"") 

Es funktioniert gut, weil alle Formen standardisiert sind.

Nach der Auswahl des ausgewählten Formulars muss ich eine ID-Nummer aus meiner Firma eingeben und diese dann ausdrucken.

Ich würde gerne wissen, ob es möglich ist, in diesem Arbeitsblatt einen Zähler zu erstellen, der angibt, wie oft ich gedruckt habe ... Oder etwas, das in chronologischer Reihenfolge zählt, wenn ich etwas abspeichere oder ändere ...

1

2 Antworten auf die Frage

1
Julian Knight

Alle Ihre Anfragen können berücksichtigt werden. Aber nur mit VBA habe ich Angst.

Behalten Sie die Dropdown-Liste bei, und fügen Sie auch eine Schaltfläche hinzu, die ein Makro auslöst.

Lesen Sie im Makro die Zelle mit der Dropdown-Liste und senden Sie das entsprechende Blatt zum Drucken. Aktualisieren Sie dann den entsprechenden Zähler, der sich in einer Reihe von Zellen auf derselben Seite befinden kann wie Dropdown und die Schaltfläche.

Um die Anzahl der Speicherungen zu zählen, benötigen Sie ein Makro mit der Funktion before_save. Sie müssen danach suchen, ich denke, es gibt sogar einen Artikel darüber in meinem Blog. Ich kann mich nicht erinnern, es ist einige Jahre her, seit ich es getan habe. Das Prinzip ist dasselbe wie das vorherige Makro, indem Sie der entsprechenden Zelle einfach 1 hinzufügen.

0
Scott

Eine etwas saubere Weise der „Druckbogen“ des Aufbaus, die die Inhalte von einem der anderen 50 Blättern zeigen, ist Zelle einzustellen, A1um

=INDIRECT($M$1 & "!A1") 

die eine Textzeichenfolge erstellt, die wie der qualifizierte Name der Zelle aussieht, die Sie sehen möchten, und dann die INDIRECT()Funktion verwendet, um diese Zeichenfolge aufzuheben (dh sie als Zelladresse zu behandeln und den Inhalt der identifizierten Zelle abzurufen) . In diesem Fall müssen Sie Ihre Formel (en) beim Hinzufügen nicht ändern Form51. Warnungen:

  • Dies kann dazu führen, dass Excel viel Arbeit verrichtet (dh viel Zeit verbringt), um diese indirekten Zellen neu zu berechnen, wenn sich etwas ändert (nicht nur M1). Ich bin nicht sicher, ob es schlimmer wäre als das, was Sie jetzt haben.
  • Vermeiden Sie unbedingt die Versuchung, Daten zu ändern, oder geben Sie neue Daten in das "Druckblatt" ein, wenn Sie aktualisieren möchten Form42. (Natürlich haben Sie jetzt dieses Problem.) Sie können sich möglicherweise vor solchen Unfällen schützen, indem Sie das Druckblatt schützen.

Es gibt andere Möglichkeiten, das Druckblatt zu erstellen. zB mit VBA zu

  • Erstellen Sie eine benutzerdefinierte Funktion, die den INDIRECT()Anruf ersetzen kann, aber reibungsloser funktioniert, oder
  • Kopieren Sie bei einem Wechsel alle Daten auf das Druckblatt .FormnnM1

Sie können Änderungen zählen, indem Sie eine Worksheet_ChangeVBA-Routine schreiben .

Ich weiß nicht, wie die Logik des Blattes gezählt werden kann, wenn Sie es drucken. Sie können jedoch möglicherweise den gewünschten Effekt erzielen, indem Sie eine Druckroutine in VBA schreiben. EIN

PrintOut, ,, True 

Die Anweisung wird das Blatt für Sie ausdrucken. Fügen Sie beliebige weitere Aktionen hinzu (z. B. Erhöhen eines Zählers). (Sie müssen nur daran denken, mit diesem Makro zu drucken .) Der vierte Parameter PrintOutist " Preview" ( Vorschau), True damit Microsoft Excel die Druckvorschau aufrufen kann, bevor Sie das Blatt drucken (wodurch Sie die Möglichkeit haben, den Vorgang abzubrechen) oder False(oder weglassen), um das Dokument zu drucken sofort, bedingungslos.

Siehe Wie füge ich VBA in MS Office hinzu? um Informationen darüber zu erhalten, wissen Sie.