Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1048to1052
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
Inhaltsverzeichnis

druckformate stimmen nicht

druckformate stimmen nicht
18.02.2009 07:58:00
abu
Guten Morgen,
ich habe nachstehenden Code geschrieben um ein bestimmtes Blatt erst mit Daten zu fuellen und anschliessend auszudrucken:

Sub Fenex()
'Copy Name
ThisWorkbook.ActiveSheet.Range("D" & ActiveCell.Row).Copy
Worksheets("Fenex").Range("F59").PasteSpecial Paste:=xlValues
'Copy Departure
ThisWorkbook.ActiveSheet.Range("N" & ActiveCell.Row).Copy
Worksheets("Fenex").Range("G8").PasteSpecial Paste:=xlValues
'Copy Forwarder
ThisWorkbook.ActiveSheet.Range("Q" & ActiveCell.Row).Copy
Worksheets("Fenex").Range("C19").PasteSpecial Paste:=xlValues
'Print out
Worksheets("Fenex").PrintOut Copies:=1, Collate:=True
End Sub


Am ersten Tag funktionierte alles wunderbar. Nun druckt er mir immer 3 Blaetter aus und das ganze unlesber in der oberen linken Ecke.
Hat jemand eine Idee woran das liegen koennte?
Die Arbeitsmappe ist shared und wird auch gleichzeitig von anderen genutzt falls das wichtig sein sollte.
Waere ueber hilfe sehr dankbar.
Gruss abu

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: druckformate stimmen nicht
18.02.2009 12:37:00
fcs
Hallo abu,
kontrolliere mal unter Datei--Seite einrichten... - Register Seiten einstellung die Werte für Skalierung.
Evtl ist hier die Einstellung 1 Seite bereit/1 Seite hoch selektiert.
Aus einem unbekannten Grund vergrößert sich aber bei dir bei jedem Kopiervorgang der Datenbereich des Blattes oder irgendwo weit unten in der Tabelle wurde versehentlich eine Zelle ausgefüllt oder formatiert, was dann dann dazu führt, das die tatsächlich mit Daten bedruckte Fläche kleiner wird.
Ändere die Skalierung auf einen festen %-Wert.
Lege im Register Tabelle ggf. auch den Druckbereich fest, wenn nach dem Ändern der Skalierung viele "Leerseiten" gedruckt werden (mit Seitenvorschau testen!!).
Räum im Blatt "Fenex" ggf. richtig auf.
- unterhalb der Daten alle Tabellenzeilen markieren und die Zeilen löschen.
- rechts der Daten alle Spalten markieren und ebenfalls die Spalten löschen.
- Datei speichern, schließen und wieder öffnen.
Manchmal (leider nur manchmal) verschwindet so Datenmüll aus der Datei.
Gruß
Franz
Anzeige
speichert er das? / temp oeffnen
19.02.2009 09:45:00
abu
Hallo Franz,
habe nun noch mal alles drumherum geloescht und einen festen druckbereich festgelegt.
Nun habe ich wieder den Ausdruck den ich moechte.
Leider wird der Druckbereich nicht uebernommen, soll heissen ich muss an jedem anderen Rechner das selebe tun. Nicht schlimm wenn es nur einmal ist. Habe meinen Rechner auch neu gestartet und der Druckbereich wurde gespeichert. Ich verfolge das mal wie es morgen ist.
Allerding habe ich noch ein Problem, man muss einmal am Tag den Drucker festlegen, sonst kommt speichern unter Fenster und ich habe nicht mehr die Moeglichkeit den Drucker zu waehlen. Kann ich nicht im Code festlegen das immer dieser Drucker genommen wird?
Habe noch eine weiter Frage, vllt. Kannst Du mir bei diesem Problem auch helfen:
Habe einen Code der auf Knopfdruck eine E-Mail generiert und ein Anhang dazu nimmt.
Problem ist ich muss den Anhang temporaer oeffnen und einige sachen reinkopieren und umbennen.
Kannst Du mir vllt. den Code fuers oeffnen und abspeichern als sagen?
Gruss
abu
Anzeige
AW: speichert er das? / temp oeffnen
20.02.2009 11:33:00
fcs
Hallo Abu,
den Drucker kannst du im Code nur festlegen, wenn der Drucker bei allen Anwendern/auf allen Rechnern den gleichen Namen hat.

'Print out
'Aktiven Drucker merken
strDruckeraktuell = Application.ActivePrinter
'Drucken auf bestimmten Drucker
Worksheets("Fenex").PrintOut Copies:=1, Collate:=True, _
ActivePrinter:="\\s050a1025\P000A6515 auf Ne05:"
'Aktiven Drucker zurücksetzen
Application.ActivePrinter = strDruckeraktuell


Den genauen Namen des Druckers muss du ggf. per Makro-Aufzeichnung und Druckerwechsel ermitteln.
Zur weiteren Frage:
Wenn du die Daten manuell kopieren/eingeben willst, dann z.B. so:


'Variablen-Deklaration
Private strDateiTemp As String
Sub TempDateiOeffnen()
Dim wbTemp As Workbook
Dim varAuswahl
varAuswahl = Application.GetOpenFilename(Filefilter:="Excel(*.xls),*.xls", _
Title:="Bitte temporäre Datei für e-mail öffnen.")
If varAuswahl  False Then
strDateiTemp = varAuswahl 'Fullname der temporären Datei
'Temporäre Datei öffnen
Workbooks.Open Filename:=strDateiTemp
End If
End Sub
Sub TempDateiSpeichern()
Dim wbTemp As Workbook
If strDateiTemp  "" Then
'Temporäre Datei öffnen
Set wbTemp = Workbooks(strDateiTemp)
wbTemp.Save
wbTemp.Close
strDateiTemp = ""
Else
MsgBox "Es wurde noch keine temporäre Datei per makro geöffnet"
End If
End Sub


Wenn du alle zu kopieren/auszufüllenden Zellen kennst dann geht auch folgendes:


Sub TempDateiAnpassen()
'Alle Änderungen per Makro machen
Dim wbTemp As Workbook, wksZiel As Worksheet
Dim wbQuelle As Workbook, wksQuelle As Worksheet, strDateiTemp As String
strDateiTemp = "C:\Temp\DateiTemp.xls" 'Fullname der Temporären datei
'Datei und Tabelle mit den zu kopierenden Informationen setzen
Set wbQuelle = ActiveWorkbook
Set wksQuelle = wbQuelle.Worksheets("Tabelle2")
'Temporäre Datei setzen
Set wbTemp = Workbooks.Open(Filename:=strDateiTemp)
Set wksZiel = wbTemp.Worksheets(1)
'Daten Kopieren in temp. Datei
wksQuelle.Range("B7").Copy Destination:=wksZiel.Range("C9")
'manuell Daten eintragen in temp. Datei
wksZiel.Range("F7") = InputBox(Prompt:="xxxtext eingeben:", _
Title:="Temporäre Datei für e-Mail ausfüllen", Default:="TestText")
'usw.
wbTemp.Save
wbTemp.Close
End Sub


Statt den Dateinamen fest vorzugeben kannst du natürlich ähnlich wie oben auch den Dateiauswahldialog anzeigen lassen.
Gruß
Franz

Anzeige
AW: speichert er das? / temp oeffnen
23.02.2009 14:02:56
abu
Hallo Franz,
danke fuer deine tolle vorarbeit. Habe soweit alles eingebunden aber es laeuft noch nicht ganz richtig.
Wenn ich deinen Code in meinen E-mail code (Modul) einbinde, dann fuellt er nicht mehr richtig meine E-mail aus. Den Anhang habe ich wohl.
Muss ich das vllt. gesondert einbauen und gebe ich dann dem Button 2 Aufgaben? also on action xxx&xxx?
Gruss
abu
AW: speichert er das? / temp oeffnen
23.02.2009 18:48:51
fcs
Hallo abu,
wenn du das Aufbereiten der temporären Datei an den Anfang deines email-Versand-Codes stellst, dann sollte es eigentlich funktionieren.
Damit der Code nicht zu unübersichtlich wird, solltest du dies in einer separaten Sub machen, die du per Call aufrufst.
Gruß
Franz
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige