Anzeige
Archiv - Navigation
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Automatisches fangen der Werte

Automatisches fangen der Werte
09.11.2006 19:50:48
Peter
Hallo Excelfreunde
ich habe hier im Forum vor einiger Zeit von einem netten Menschen einen Code erhalten.
Mit diesem Code fange ich Werte für meine Diagramme ein.
Das Funktioniert ganz gut, wenn ich erst alle Tabellenblätter(Diagramme) anklicke.
So, ich habe mir ein Makro mit dem Recorder erstellt mit dem ich die Diagramme ausdrucken kann.
Damit nicht jedes Diagramm angezeigt wird, habe ich noch
Application.ScreenUpdating = False
Application.EnableEvents = False (Am Ende True) hinzugefügt.
Aber das Ausdrucken geht schneller als dieses "Fangen" der Werte geschieht und dadurch werden einige Diagramme dann ohne die Werte ausgedruckt.
Wie kann ich das ändern. Hier benötige ich euere Hilfe.
Ich habe mal den Code hier eingefügt.
Option Explicit

Sub Fehler()
' Makro am 18.08.2006 von D.Thönnißen  aufgezeichnet
Dim intanf As Integer
Dim intend As Integer
Dim intz As Integer
On Error GoTo Fehler
intanf = 3
Do While ActiveSheet.Cells(intanf, 2) = ""
intanf = intanf + 1
Loop
intz = intanf
intend = intanf - 1
Do While ActiveSheet.Cells(intz, 2) <> ""
intend = intend + 1
intz = intz + 1
Loop
ActiveSheet.ChartObjects(1).Activate
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=ActiveSheet.Range("B" & intanf, "C" & intend), PlotBy:= _
xlColumns
Range("B" & intend).Select
Fehler:
If Err.Number = 6 Then
Range("B3").Select
Exit Sub
End If
End Sub

Gruß Dieter

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

Betreff
Datum
Anwender
Anzeige
AW: Automatisches fangen der Werte
10.11.2006 07:22:40
marcl
Hallo Dieter,
da hilft eventuell eine Wartefunktion vor dem Drucken.
Application.Wait Now + TimeSerial(0, 0, 5) ' 5 Sekunden warten
... drucken ...
Gruß
marcl
AW: Automatisches fangen der Werte
10.11.2006 13:05:06
Peter
Hallo Excelfreund
danke für deine Antwort.
Schreibe ich das direkt nach dem Druckbefehl oder ganz am Anfang?
Gruß Dieter
AW: Automatisches fangen der Werte
10.11.2006 19:21:52
Stefan
Hallo Dieter,
Wie startet Du denn dieses Makro und das Druckmakro? Manuell? Poste doch auch mal den Code deines Druckmakros.
Schoene Gruesse
Stefan
Frage noch offen
10.11.2006 19:24:26
Stefan
Sorry, Frage natuerlich noch offen...
AW: Frage noch offen
10.11.2006 19:51:18
Peter
Hallo Excelfreund
hier der Code zum Drucken.
Der ist allerdings sehr lang.

Sub Makro17()
' Makro17 Makro
' Makro am 13.03.2006 von Mein Name aufgezeichnet
' Tastenkombination: Strg+r
Dim iClick As Integer
iClick = MsgBox( _
prompt:="Wollen sie wirklich auf LPQ3 drucken?", _
Buttons:=vbYesNo)
If iClick = vbYes Then
Sheets("Nr.11").Select
Range("D7").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.ChartArea.Select
Application.ActivePrinter = "\\depacnglwvms5c7\LPQ3 auf Ne05:"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"\\depacnglwvms5c7\LPQ3 auf Ne05:", Collate:=True
Application.ScreenUpdating = False
Application.EnableEvents = False
ActiveWindow.Visible = False
Sheets("Nr.10").Select
Range("D5").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.ChartArea.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Visible = False
Range("D5").Select
Sheets("Nr.9").Select
Range("D7").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.ChartArea.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Visible = False
Range("D9").Select
Sheets("Nr.7").Select
Range("C6").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.ChartArea.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Visible = False
Sheets("Nr.6").Select
Range("C8").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.ChartArea.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Visible = False
Range("D5").Select
Sheets("Nr.7").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveWindow.Visible = False
Range("D6").Select
Sheets("Nr.5").Select
Range("D6").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.ChartArea.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Visible = False
Sheets("Nr.4").Select
Range("D7").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.ChartArea.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Visible = False
Sheets("Nr.3").Select
Range("D6").Select
ActiveSheet.ChartObjects("Diagramm 1").Activate
ActiveChart.ChartTitle.Select
ActiveChart.Axes(xlValue).Select
ActiveChart.ChartTitle.Select
ActiveChart.ChartArea.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Visible = False
Sheets("Nr.2").Select
Range("D8").Select
ActiveSheet.ChartObjects("Diagramm 3").Activate
ActiveChart.Shapes("Text Box 3").Select
ActiveChart.Axes(xlValue).Select
ActiveChart.Shapes("Text Box 3").Select
ActiveChart.ChartArea.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Visible = False
Sheets("Nr.1").Select
Range("C8").Select
ActiveSheet.ChartObjects("Diagramm 19").Activate
ActiveChart.Axes(xlValue).Select
ActiveChart.ChartArea.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Visible = False
Sheets("Grobe-Analyse").Select
Range("D8").Select
ActiveSheet.ChartObjects("Diagramm 2").Activate
ActiveChart.ChartArea.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
ActiveWindow.Visible = False
Sheets("Eingabe").Select
Application.ScreenUpdating = True
Application.EnableEvents = True
ElseIf iClick = vbNo Then
Exit Sub
End If
End Sub

Liegt hier vielleicht irgendwo ein Fehler.
Ich möchte einfach nur die Diagramme ausdrucken wobei die Werte automatisch eingefangen werden sollen.
Wenn ich vorher jedes einzelne Diagramm(Tabellenblatt) anklicke dann funktioniert es ja.
Gruß Dieter
Anzeige
AW: Frage noch offen
10.11.2006 20:11:20
Stefan
Dankeschoen!
Der Code fuer das "Einsammeln" der Daten bezieht sich, soweit ich das erkenne kann, nur auf EIN Diagramm (und zwar das erste Diagramm des gerade aktiven Arbeitsblattes). In deinem Drucken-Code sehe ich auch nirgedwo einen Aufruf dieses Einsammel-Makros.
Sofern alle Deine Blaetter gleich aufgebaut sind (wohl in Spalte B und C die Werte fuer die Diagramme?), versuch mal nach jeder Zeile wo Du ein "Sheets("Nr...").Select" hast eine Zeile einzubauen die nur heisst
Fehler
Das sollte dann immer Dein Einsammel-Makro aufrufen.
Im uebrigen ein recht eigentuemlicher Name fuer ein makro mit der Funktion. ;-)
Schoene Gruesse
Stefan
Anzeige
AW: Frage noch offen
10.11.2006 20:22:06
Peter
Hallo Excelfreund
danke für deine Hilfe.
Ich werde das so wie du beschrieben hast mal testen.
Gruß Dieter
zu
10.11.2006 23:30:43
zu
zu

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige