Fortlaufende Seite für mehrere Dokumente
#11
Hallo,

Zitat:wenn ich die zahlen eingebe zb. 2 seiten drucken und im 2. fenster dann startseite als 5 festlege druckt er immer ab seite 1 

ich selbst lege, wenn ich nicht alle Seiten drucken will, das in den Druckereinstellungen des entsprechenden Druckers fest.
Aber ich habe vor einigen Jahren mal eine Routine geschrieben, mit der einzelne Seiten zum Drucken ausgewählt werden
können. Mal sehen, ob ich das Teil in den unendlichen Tiefen meiner Festplatten finde, weil ich keinen Sinn darin sehe, das
Rad neu erfinden zu wollen.
Top
#12
Hallo,

gefunden habe ich das Teil, aber ich fürchte, daß das nicht das ist, was Du erwartest.
Trotzdem stelle ich mal die Startseite des Programms vor. Entscheiden ob das für Dich
brauchbar wäre, mußt eh Du  :19:

Ansonsten müßten wir das Rad eben doch nochmal erfinden  :05:

Den Gesamtthread habe ich bisher nicht gelesen. Ich weiß z.Zt. nur, daß es Probleme
mit dem Ausdrucken einzelner Seiten gibt.


Angehängte Dateien Thumbnail(s)
   
Top
#13
hallo , nein leider nicht .


Sub Drucken_Nummeriert()
Dim wert As String
Dim n As Long, i As Long
n = CLng(InputBox("Bitte die Anzahl der zu druckenden Seiten eingeben! ", "Seitenanzahl"))
wert = InputBox("Nummer der Startseite?", "startseite")
If wert = "" Then wert = "i"
i = CLng(wert)
   For i = 1 To n
      [AR2] = i
      ActiveSheet.PrintOut
   Next i
  
End Sub


das ahbe ich jetzt funktioniert uch soweit. also die anzahl klappt ! nur die startseite nicht ! diese wird immer auf 1 festgelegt

weiß keiner einen rat?
Top
#14
Hallo,

da läuft einiges schief!


Zitat:If wert = "" Then wert = "i"

Wenn die Inputbox leer ist,wird unter wert ein i abgelegt, das ist Blödsinn.

Zitat:i = CLng(wert)

Ds ist dann höherer Blödsinn, weil man aus i keine Zahl machen kann!

Ganz doof wird es dann hier:

Zitat:For i = 1 To n


Weil da aus i eine Schleife gemacht wird, die bei 1 anfängt! Alle vorherigen Zuweisungen sind dann futsch.

Dann schreibst Du den Wert von i in AR2, warum?

Und nirgendwo steht, bei welcher Seite der Druck beginnen soll, es soll einfach nur die aktive Tabelle gedruckt werden.
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#15
Hallo,

au Mann, mir fallen gerade alle meine Sünden ein.
Hatte ich Dir nicht versprochen, das oben angebotene Teil zu bereinigen und es Dir dann zur Verfügung zu stellen?
Und wenn Du es nicht warst, dann wartet irgendwo in diesem Forum wer anders darauf, daß ich ihm die Datei schicke.
Dann sorry und Asche auf mein Haupt.

Aber wenn Du es warst, dem ich das versprochen habe, dann darf ich Dir auch ein bischen Mitschuld geben.
Ich habe Dir geschrieben, gib mir ein paar Tage Zeit um die Datei zu bereinigen und dann bekommst Du sie.
Gleichzeitig bat ich Dich, wenn ich mich in ein paar Tagen nicht gemeldet habe, dann schreibe mich an, denn dann
habe ich es vergessen. Ich habe mir Deinen Nicknamen aufgeschrieben, den Thread und den Namen der Datei.
Und dann, tja dann, weil der Teufel ein Eichhörnchen ist, war er plötzlich weg, der Zettel.
Na ja, habe ich gedacht, er, also Du, wird sich schon melden. Das ist allerdings bis heute nicht passiert.

Wenn Du es allerdings nicht warst, dann nochmals sorry. Dann tut sie mir leid, meine Störung.
Vielleicht meldet sich ja dann der andere User doch noch irgendwann.

An den Excelverein.
Ich war so euphorisch, wie gut es mir wieder ging und ich habe mich so auf den September und das Forentreffen
gefreut. Mit Erschrecken muß ich nun feststellen, daß ich mich wohl immer noch "im eigenen Vorgarten" verlaufe.
Na ja, bis zum Treffen ist es ja wohl noch eine Schwangerschaft Zeit, aber ich stelle mein Erscheinen dort auch für
2017 nun doch lieber wieder in Frage.
Auch in diesem Fall ein Riesen-sorry. Ihr wißt, wie sehr ich mich darauf gefreut habe.
Top
#16
Hallo Peter,

als aller erstes Dir mal gute Besserung und ich denke, wir drücken alle die Daumen, dass wir Dich auf dem Forumstreffen in unserem Kreis begrüssen können. Wenn nicht, machen wir das nächste Treffen in Norderstedt.

Zum Makro. So sollte es gehen:


Code:
Sub Drucken_Nummeriert()
Dim wert As String
Dim wert2 As String

Dim n As Long, i As Long
Dim anz As Long
anz = ExecuteExcel4Macro("Get.document(50)")
n = CLng(InputBox("Bitte die Anzahl der Kopien eingeben! ", "Anzahl Kopien"))
wert = InputBox("Nummer der Startseite?", "startseite")
wert2 = InputBox("Nummer derletzten zu druckenden Seite", "letzte Seite von " & anz & "Seiten")
If wert = "" Then wert = 1
If wert2 = "" Then wert2 = anz
i = CLng(wert)
m = CLng(wert2)
If m < i Then i = m
    
    ActiveSheet.PrintOut from:=i, to:=m, copies:=n
 
End Sub
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#17
Hallo ihr beiden , vielen Dank für eure Unterstützung !!! Auch ich wünsche dir gute Genesung !
Da ich ja bei dem hier auch was lernen will frage ich mal was die einzelenen Commands bedeuten :

Sub Drucken_Nummeriert()     //// Name des Makro
Dim wert As String  //// Zeichenfolge
Dim wert2 As String  /// ""
Dim n As Long, i As Long /// Long sind zahlen ohne komma
Dim anz As Long   /// ""
anz = ExecuteExcel4Macro("Get.document(50)")    /// ?
n = CLng(InputBox("Bitte die Anzahl der Kopien eingeben! ", "Anzahl Kopien"))  // eingabe der Inputbox soll als wert übernommen werden

wert = InputBox("Nummer der Startseite?", "startseite")  /// ""
wert2 = InputBox("Nummer derletzten zu druckenden Seite", "letzte Seite von " & anz & "Seiten") ///""
If wert = "" Then wert = 1            /// wenn der wert leer ist dann wird 1 eingesetzt
If wert2 = "" Then wert2 = anz  /// wenn leer dann ANZ
i = CLng(wert)    /// I = die Eingabe von oben
m = CLng(wert2)    //// m = die Eingabe 2 von oben
If m < i Then i = m   ///
   
    ActiveSheet.PrintOut from:=i, to:=m, copies:=n  /// ausdrucken der seiten
 
End Sub


bei dem Makro, wenn ich es ausführe passiert nix , also nichts wird gedruckt :(
Top
#18
[quote pid='60898' dateline='1481561421']


Dann schreibst Du den Wert von i in AR2, warum?

Und nirgendwo steht, bei welcher Seite der Druck beginnen soll, es soll einfach nur die aktive Tabelle gedruckt werden.

[/quote]

Genau weil ich die Seite die gedruckt wird  dort brauche ( soll mit ausgegeben werden )

Also Zb. ich benötige 3 Seiten . Startend bei Seite nr 5  nun soll gedruckt werden Seite 3 , 4 , 5  .
Die Tabelle bleibt IDENETISCH außer Oben rechts AR2 dort soll  drinenn stehen Blatt 3  bzw. 4 bzw. 5 .
Top
#19
Hallo,

ich habe es getestet, es hat funktioniert!


Zitat:Sub Drucken_Nummeriert()     //// Einleitung oder Kopf des Makros. Ohne das geht es nicht!
Dim wert As String  //// Zeichenfolge
Dim wert2 As String  /// ""
Dim n As Long, i As Long /// Long sind Ganzzahlen zw. -32767 und +32767
Dim anz As Long   /// ""
anz = ExecuteExcel4Macro("Get.document(50)")    /// ein Befehl zur Ermittlung der Seiten in der Tabelle
n = CLng(InputBox("Bitte die Anzahl der Kopien eingeben! ", "Anzahl Kopien"))  // eingabe der Inputbox soll als wert übernommen werden

wert = InputBox("Nummer der Startseite?", "startseite")  /// erste zu druckende Seite
wert2 = InputBox("Nummer der letzten zu druckenden Seite", "letzte Seite von " & anz & "Seiten") ///letzte zu druckende Seite
If wert = "" Then wert = 1            /// wenn der wert leer ist dann wird 1 eingesetzt
If wert2 = "" Then wert2 = anz  /// wenn leer dann bis zur letzten Seite
i = CLng(wert)    /// i =Zahl aus dem  Text wert erzeugen
m = application.worksheetfunction.min(anz,CLng(wert2))   //// m = Zahl aus dem  Text wert2 erzeugen, begrenzen, da m nicht größer als anz sein darf!
If m < i Then i = m   /// wenn m kleiner als i dann ersetze i durch m (es gibt maximal m Seiten!)
   
    ActiveSheet.PrintOut from:=i, to:=m, copies:=n  /// ausdrucken der seiten
 
End Sub




Zitat:Oben rechts AR2 dort soll  drinenn stehen Blatt 3  bzw. 4 bzw. 5 .



Du weißt hoffentlich, dass dann auch bis zur Spalte AR alles gedruckt wird, selbst wenn alles leer ist????
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Top
#20
Hallo Edgar,

(12.12.2016, 18:50)BoskoBiati schrieb: Hallo,

da läuft einiges schief!



Wenn die Inputbox leer ist,wird unter wert ein i abgelegt, das ist Blödsinn.


Ds ist dann höherer Blödsinn, weil man aus i keine Zahl machen kann!

Ganz doof wird es dann hier:



Weil da aus i eine Schleife gemacht wird, die bei 1 anfängt! Alle vorherigen Zuweisungen sind dann futsch.

Dann schreibst Du den Wert von i in AR2, warum?

Und nirgendwo steht, bei welcher Seite der Druck beginnen soll, es soll einfach nur die aktive Tabelle gedruckt werden.

nett, wie Du Deinen Code und damit Dich selbst madig machst.  :17:

Gruß Uwe
Top


Gehe zu:


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