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.
28.11.2016, 21:05 (Dieser Beitrag wurde zuletzt bearbeitet: 28.11.2016, 21:05 von Käpt'n Blaubär.)
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.
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
12.12.2016, 19:24 (Dieser Beitrag wurde zuletzt bearbeitet: 12.12.2016, 19:33 von Käpt'n Blaubär.)
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.
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.
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 :(
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 .
13.12.2016, 12:27 (Dieser Beitrag wurde zuletzt bearbeitet: 13.12.2016, 12:29 von BoskoBiati.)
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.