Excel Script

Piefke

Fanes Testfahrer
Registriert
20. August 2001
Reaktionspunkte
122
Ort
Bocka (Oberlausitz)
Folgendes möchte ich erreichen:

Ich habe ein Exceldokument mit mehreren Tabellenblättern. Auf dem letzten Tabellenblatt habe ich eine Zelle, wo ich eine Zahl (von 1 bis 30) eintrgane kann und bekomme eine Übersicht über verschiedene Daten zu der zur Zahl gehörenden Person angezeigt. Das funzt so weit ganz gut.

Beim Ausdrucken trage ich jetzt nacheinander die Zahlen, die ich brauche ein und drucke das Tabellenblatt aus. Bei 25 Personen dauert das eine Weile.

Gibt es eine Möglichkeit, diesen Vorgang zu erleichtern, alos dass ich eingeben kann "Drucke von bis.."?
 
Ich versteh ehrlich gesagt nicht wieso man für solche Datenbankartigen Aufgaben so ein Hausfrauenprogranm wie excel verwendet? Man fährt ja auch nicht mit nem alten Damenrad bei der Tour de France mit oder? Da gibt's doch bestimmt ne bessere Lösung.
 
Ich versteh ehrlich gesagt nicht wieso man für solche Datenbankartigen Aufgaben so ein Hausfrauenprogranm wie excel verwendet? Man fährt ja auch nicht mit nem alten Damenrad bei der Tour de France mit oder? Da gibt's doch bestimmt ne bessere Lösung.
Weil's schnell gebastelt ist.
Weil man die Daten flot weiter verarbeiten kann.
Weil man schnell etwas ändern kann.
Weil's jeder öffnen und bedienen kann.
Weil man's einfach drucken kann.
und und und ;-)
 
Das bietet doch jedes Programm wenn man es beherscht?

Aber jedem das seine, ich hab schon Leute mit Word Webseiten machen sehen...und die waren genauso davon überzeugt dass das wohl das beste Programm für sowas wäre.
 
Ich versteh ehrlich gesagt nicht wieso man für solche Datenbankartigen Aufgaben so ein Hausfrauenprogranm wie excel verwendet? Man fährt ja auch nicht mit nem alten Damenrad bei der Tour de France mit oder? Da gibt's doch bestimmt ne bessere Lösung.
Weil ich es mit Excel besser hinbekommen habe, Durchschnitte zu errechnen und die Tabellenblätter miteinander zu verknüpfen. Wenn das im Access besser geht, bin ich für Tipps und Tricks immer dankbar.
Ich habe bis jetzt auch nur wage Hinweise bekommen, also Makro ja, aber wie?
 
Das mit dem Makro war auf meinem Mist gewachsen, wie genau weiß ich auch nicht, so tief stecke ich in dem Programm auch nicht. Vllt gibt's ja irgendwo ein Excel-Forum oder sowas?
 
Das mit dem Makro war auf meinem Mist gewachsen, wie genau weiß ich auch nicht, so tief stecke ich in dem Programm auch nicht. Vllt gibt's ja irgendwo ein Excel-Forum oder sowas?
Ich habe dir einmal etwas angehängt, das vielleicht hilft... schau dir das Makro einmal an.

Code:
Sub druckButton()
'abfrage der zu druckenden Nummern

Dim von, bis

von = InputBox("Ab wo willst du drucken?", "Von Nr. eingeben")
bis = InputBox("Bis wo willst du drucken?", "Bis Nr. eingeben")

'jetzt rufst du die Druck Funktion auf oder schreibst das von und bis in die Zellen. zB so:

If (von = "" Or bis = "") Then Exit Sub

'Werte der Auswahl in die Zellen schreiben
Range("A1") = von
Range("A2") = bis

End Sub

Du müsstest jetzt nur noch wissen, wie du deine Druckfunktion aufrufst. Wie machst du das derzeit?
 

Anhänge

  • druckbutton.zip
    15 KB · Aufrufe: 11
Sowas hier?

Code:
Sub Schaltfläche1_Klicken()
   
	Dim i As Integer
	Dim j As Integer
	Dim inc As Integer
   
	i = InputBox("Von?")
	j = InputBox("Bis?")
   
	If IsNumeric(i) And IsNumeric(j) Then
		For inc = i To j
			Sheets("Tabelle1").Cells(1, 1).Value = inc
			Sheets().PrintOut
		Next inc
	End If
   
End Sub
 
Hier mal ein Ausschnitt aus dem letzten Tabellenblatt:
upload_2015-2-18_17-45-18.png


Im rot eingekringelten gebe ich die Nummer ein und es ändern sich an die Daten. Bis jetzt drucke ich so: Nummer eingeben, dann auf Datei drucken... und das für jeden einzeln.
 

Anhänge

  • upload_2015-2-18_17-45-18.png
    upload_2015-2-18_17-45-18.png
    28 KB · Aufrufe: 46
Hier mal ein Ausschnitt aus dem letzten Tabellenblatt:
Anhang anzeigen 361290

Im rot eingekringelten gebe ich die Nummer ein und es ändern sich an die Daten. Bis jetzt drucke ich so: Nummer eingeben, dann auf Datei drucken... und das für jeden einzeln.


Okay, ich habe da schnell eine Lösung gebaut. Ob man die in deine vorhanden Liste integrieren kann müsstest du schauen....bzw. mir ggf. deine Liste schicken.

Erstellt mit Excel 2011 MAC OS X (sollte aber keine Probleme bereiten)
https://www.dropbox.com/s/ttmlqzqsf405asz/Drucklayout.xlsm?dl=0

gruß
Bastian
 
Vielleicht solltest Du mal was zu den bisher genannten Lösungsvorschlägen sagen, ob die funktionieren, bzw. wo es hängt.
So hat man irgendwie das Gefühl, sich umsonst Gedanken zu machen...
 
Code:
Das könnte schon gehen... ich hab's einfach hier ins Forum getippselt.

Sub drucken()
Dim von, bis
dim i as integer

'abfrage des Druckbereiches
von = InputBox("Ab wo willst du drucken?", "Von Nr. eingeben")
bis = InputBox("Bis wo willst du drucken?", "Bis Nr. eingeben")

If (von = "" Or bis = "") Then Exit Sub

'Werte der Auswahl in die Zelle schreiben und drucken...
for i = von to bis
	Range("A2").Value = i 'hier deine Zele einsetzen
	calculate
	ActiveWindow.SelectedSheets.PrintOut

next i

End Sub
 
Beim Script vom
GrazerTourer kommt:
upload_2015-2-19_17-48-53.png


Ich habe gerade wenig Zeit, mich damit zu beschäftigen. Das wird am WE und nächste Woche besser. Ich danke allen und halte euch auf dem Laufenden.
 

Anhänge

  • upload_2015-2-19_17-48-53.png
    upload_2015-2-19_17-48-53.png
    9,6 KB · Aufrufe: 42
Beim Script vom
GrazerTourer kommt:
Anhang anzeigen 361482

Ich habe gerade wenig Zeit, mich damit zu beschäftigen. Das wird am WE und nächste Woche besser. Ich danke allen und halte euch auf dem Laufenden.

Also der Code funktioniert einwandfrei. Schlecht ist der undefinierte Fehlercode "400". Das kann an mehrere Sachen liegen, z.b. -> Range falsch gesetzt, -> Active Window, oder einer Einstellung im VBA Editor, und......
 
Zwar schon bessere Lösungen in Arbeit, soweit ich sehe, dennoch eine mMn simple-Lösung:
25 Tabellenblätter anlegen (copy), die Tabellenblätter gruppieren und ein Makro machen, das den Druckbefehl für alle 25 gibt = am Ende nur 1 Buttonklick.
 
Zwar schon bessere Lösungen in Arbeit, soweit ich sehe, dennoch eine mMn simple-Lösung:
25 Tabellenblätter anlegen (copy), die Tabellenblätter gruppieren und ein Makro machen, das den Druckbefehl für alle 25 gibt = am Ende nur 1 Buttonklick.

Genau so hab ich's ihm gemacht. ;) Prinzipiell ein wirklic einfaches Makro mit einer Schleife. Das Einzige das für einen Anfänger vielleicht blöd is, ist dass man die selektierten Sheets als Array an die Druckfunktion übergeben muss, damit das Druck Popup nicht bei jedem Sheet neu kommt. Ansonsten ist da nicht viel dahinter.
 
Habe nur sehr wenig Ahnung von der Excel-Skriptsprache, es gibt aber auch den Skript-Assistenten - damit hab ich bisher alle meine (zugegeben sehr viel einfacheren) Skripts erstellt. Aufnahme starten, einmal den Durchlauf machen, Aufnahme beenden, fertig ist das Skript. Sehr komfortable, wenn auch unschöne Lösung, für die ich wahrscheinlich gleich gelyncht werde :D
 
Habe nur sehr wenig Ahnung von der Excel-Skriptsprache, es gibt aber auch den Skript-Assistenten - damit hab ich bisher alle meine (zugegeben sehr viel einfacheren) Skripts erstellt. Aufnahme starten, einmal den Durchlauf machen, Aufnahme beenden, fertig ist das Skript. Sehr komfortable, wenn auch unschöne Lösung, für die ich wahrscheinlich gleich gelyncht werde :D
Nein, das ist sogar in 90% der einfachen Anwendungen die richtige Lösung. :) So lernt man am meisten, wenn man sich den Code dann auch kur durchliest. ;)
 
Zurück
Oben Unten