Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zahl um eins erhöhen, dann Drucken usw.?

Zahl um eins erhöhen, dann Drucken usw.?
06.11.2008 18:12:42
Selma
Hallo Leute,
ich möchte gern über InputBox ein Wert eintragen, der in Zelle C4 eingetragen wird und dann soll das Arbeitsblatt auf Standarddrucker ausgedruck werden.
Danach soll der Wert um eins erhöht werden, dann wieder das AB drucken usw.
Wie oft soll der Zahl um eins erhöht werden, würde ich gern über InputBox steuern.
Wie mache ich das?
Besten Dank im Voraus !
Liebe Grüße,
Selma
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zahl um eins erhöhen, dann Drucken usw.?
06.11.2008 18:40:03
Uwe
Hi Selma,
probiere das mal:

Sub Drucken()
Dim I As Integer
Dim Anzahl As Integer
Range("C4").Value = InputBox("Bitte Startwert eingeben", "Start")
Anzahl = InputBox("Wie oft soll gedruckt werden?", "Anzahl")
For I = 0 To Anzahl - 1
ActiveWindow.SelectedSheets.PrintOut ActivePrinter:=Default
Range("C4").Value = Range("C4").Value + 1
Next I
Range("C4").Value = Range("C4").Value - 1 'damit der Wert nach dem letzten Druck erhalten  _
bleibt
End Sub


Gruß
Uwe
(:o)

Anzeige
mal sehen ob ich es verstanden hab ,,,
06.11.2008 18:47:00
Matthias
Hallo Selma
Habe ich Dich richtig verstanden
Beispiel:
Inputbox = 10 dann
C4 = 1 und drucken dann
C4 = 2 und drucken dann
C4 = 3 und drucken dann
...
bis
C4 = 10 und drucken.
wenn ich Dich richtig verstanden habe, dann könnte dieses Grundgerüst dazu genutzt werden.
Ich habe allerdings keinen Drucker installiert und kann somit nicht testen.
Statt des Ausdrucks habe ich nur eine Msgbox als Anzeige
hier der Code:

Option Explicit
Sub Selma()
Dim FRAGE As String, x As Long, Y As Long
FRAGE = InputBox("wieviele Durchläufe", , 10)
If Not IsNumeric(FRAGE) Or FRAGE = "" Then MsgBox FRAGE & " ist keine Zahl - Abbruch": Exit Sub
Range("C4") = CLng(FRAGE)
For x = 1 To Range("C4")
Range("C4") = x
MsgBox "drucke Blatt" & x
Next
Range("C4").ClearContents
End Sub


Gruß Matthias

Anzeige
Y As Long ... kann wieder entfernt werden ...
06.11.2008 18:53:00
Matthias
Hi
... hatte ich nur vergessen wieder zu löschen. (Ist nur vom Testen übriggeblieben)
Gruß Matthias
AW: mal sehen ob ich es verstanden hab ,,,
06.11.2008 18:56:00
Uwe
Hi Selma, hi Matthias,
mit der Zeile:

If Not IsNumeric(FRAGE) Or FRAGE = "" Then MsgBox FRAGE & " ist keine Zahl - Abbruch": Exit Sub


ist man auf jeden Fall auf der sicheren Seite (bei mir müsste halt FRAGE durch Anzahl ersetzt werden, und am besten das gleich mit I in der ersten Inputbox).
In Punkto "sicheres Programmieren" bin ich leider manchmal noch "schluderig", verspreche aber mich zu bessern und habe die Zeile (siehe Zitat) auch schon in mein Archiv aufgenmmen.
Gruß
Uwe
(:o)

Anzeige
kleiner Fehler ?
06.11.2008 19:23:45
Matthias
Hallo Uwe
Hab Dein Beispiel mal probiert.
Ich habe jetzt mal, da ich keinen Drucker istalliert habe statt des Druckens
MsgBox "Drucke ... " eingestezt.
Gebe ich nun als Startwert 1 ein und als zu druckende Blätter eine Menge von 2 ein
so müsste Excel doch 2 Blätter drucken.
Ich bekomme aber 3 x die Box angezeigt.


hier Dein Code (nur mit ner MSGBox), so wie ich ihn getestet habe:

Sub Drucken()
Dim I As Integer
Dim Anzahl As Integer
Range("C4").Value = InputBox("Bitte Startwert eingeben", "Start")
Anzahl = InputBox("Wie oft soll gedruckt werden?", "Anzahl")
For I = 0 To Anzahl - 1
MsgBox "Drucke ... "
'ActiveWindow.SelectedSheets.PrintOut ActivePrinter:=Default
Range("C4").Value = Range("C4").Value + 1
Next I
Range("C4").Value = Range("C4").Value - 1 'damit der Wert nach dem letzten Druck erhalten _
bleibt
End Sub


Gruß Matthias

Anzeige
AW: kleiner Fehler ?
06.11.2008 21:08:50
Uwe
Hi Matthias,
ich habe Deinen Code bei mir in eine neue Mappe kopiert und gestartet:
Startwert: 1
Menge: 2
... und bei mir erschein die Msgbox nur zweimal, wie sie soll. Ich hatte das auch vorher schon gechecked und daher:
To Anzahl - 1
genommen.
Ich kann nicht nachvollziehen, wieso das auf Deinem Compi anders sein sollte?!
Wie ist denn bei der der Wert in Zelle C4 nachdem das Makro durchgelaufen ist? Bei mir ist es 2 und so sollte es auch sein!?
Gruß
Uwe
(:o)
Anzeige
alles ok ...
07.11.2008 05:08:43
Matthias
Hallo Uwe
Sorry, na klar hast Du das vorher getestet, mach ich ja auch immer so.
Habe gerade nochmal probiert. Alles paletti.
Keine Ahnung, was da gestern los war.
Da saß ich wohl zu lange vor der Kiste und hab irgendwas nicht mehr gerafft.
Naja, jetzt waren der Rechner (und ich auch) ja mal 3-4 Stunden aus ;o)
Sorry nochmal,
Gruß Matthias
Anzeige
AW: alles ok ...
07.11.2008 09:58:42
Selma
Vielen Dank Uwe !
Vielen Dank Matthias !
Liebe Grüße,
Selma
;
Anzeige
Anzeige

Infobox / Tutorial

Zahl um eins erhöhen und ausdrucken in Excel


Schritt-für-Schritt-Anleitung

Um in Excel einen Wert um eins zu erhöhen und das Arbeitsblatt anschließend auszudrucken, kannst du folgendes VBA-Skript verwenden. Diese Anleitung ist für Excel 2010 und höher geeignet.

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Klicke auf Einfügen und wähle Modul.
  3. Füge den folgenden Code in das Modul ein:
Sub Drucken()
    Dim I As Integer
    Dim Anzahl As Integer
    Range("C4").Value = InputBox("Bitte Startwert eingeben", "Start")
    Anzahl = InputBox("Wie oft soll gedruckt werden?", "Anzahl")
    For I = 0 To Anzahl - 1
        ActiveWindow.SelectedSheets.PrintOut ActivePrinter:=Application.ActivePrinter
        Range("C4").Value = Range("C4").Value + 1
    Next I
    Range("C4").Value = Range("C4").Value - 1 ' Wert nach dem letzten Druck erhalten
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Um das Makro auszuführen, drücke ALT + F8, wähle Drucken und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler: Makro funktioniert nicht oder gibt Fehlermeldung aus.

    • Lösung: Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe zu Datei > Optionen > Trust Center > Einstellungen für das Trust Center > Makroeinstellungen und aktiviere die Option für Makros.
  • Fehler: Drucker nicht gefunden.

    • Lösung: Überprüfe, ob dein Standarddrucker korrekt eingestellt ist. Gehe zu Systemsteuerung > Geräte und Drucker, um deinen Drucker zu überprüfen.

Alternative Methoden

Wenn du nicht VBA verwenden möchtest, kannst du auch die Excel-Funktionalitäten nutzen, um manuell Werte zu erhöhen und zu drucken. Zum Beispiel:

  1. Gib in Zelle C4 einen Anfangswert ein.
  2. Erhöhe den Wert manuell in der Zelle und drucke das Arbeitsblatt über Datei > Drucken.

Praktische Beispiele

  • Beispiel 1: Wenn du als Startwert 1 eingibst und 5 für die Anzahl, wird die MsgBox oder der Drucker fünfmal aufgerufen, wobei der Wert in C4 von 1 bis 5 erhöht wird.

  • Beispiel 2: Du kannst die MsgBox durch einen tatsächlichen Druck ersetzen, indem du den Kommentar vor ActiveWindow.SelectedSheets.PrintOut entfernst.


Tipps für Profis

  • Verwende InputBox: Du kannst die InputBox anpassen, um sicherzustellen, dass der Benutzer nur gültige numerische Eingaben macht. Dies erhöht die Robustheit deines Makros.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung im VBA-Code, um unerwartete Eingaben abzufangen. Beispiel:

If Not IsNumeric(Anzahl) Or Anzahl <= 0 Then
    MsgBox "Bitte eine gültige Zahl eingeben."
    Exit Sub
End If

FAQ: Häufige Fragen

1. Wie kann ich die Druckeinstellungen anpassen?
Du kannst die Druckeinstellungen in Excel unter Datei > Drucken anpassen, bevor du das Makro ausführst.

2. Funktioniert dieses Makro in Excel 365?
Ja, das VBA-Skript funktioniert auch in Excel 365, solange Makros aktiviert sind.

3. Wie kann ich das Makro automatisch ausführen lassen?
Du kannst das Makro als Ereignis (z.B. beim Öffnen der Datei oder beim Ändern einer Zelle) definieren, indem du es in das entsprechende Arbeitsblatt-Modul schreibst.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige