Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
752to756
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
752to756
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kopie des Druckbereiches (mit Formatierungen)

Kopie des Druckbereiches (mit Formatierungen)
13.04.2006 16:59:00
Mark
Hallo Leute,
ich möchte eine Kopie des Druckbereiches unter Berücksichtigung, dass Spaltenbreite, Zeilenhöhe, Bilder, Formatierungen (wie z.B. hoch- und tiefgestellter Text) übernommen werden.
Rechenformeln brauchen nicht erhalten bleiben, nur die Ergebnisse.
Im Archiv konnte ich nichts passendes finden.
Bitte helft mir.
Hier meine Beispieldatei.

Die Datei https://www.herber.de/bbs/user/32844.xls wurde aus Datenschutzgründen gelöscht

Danke für jede Antwort
-Mark-

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopie des Druckbereiches (mit Formatierungen)
HansHei
Hallo Mark,
mit Copy ist das meines Wissens nicht zu machen. Hier mal ein Beispiel einer Kopie in eine neue Datei.
https://www.herber.de/bbs/user/32858.xls
Gruß
Hans
AW: Ergänzung
HansHei
Nachtrag,
wenn Du den Code in Tabelle1 gegen diesen austauscht, sind auch die Makros in der Dateikopie futsch.
Private Sub CommandButton1_Click()
Dim z
Application.ScreenUpdating = False
Range("D16:H19").Copy
Range("D16").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    For Each z In Range("A1:I13,A46:H57")
    z.ClearContents
Next
SendKeys "%xksv {TAB 3} +~" 'lässt Zugriff auf VBA zu
    With ActiveWorkbook.VBProject.VBComponents("Tabelle1").CodeModule
        .DeleteLines 1, .CountOfLines
    End With
ActiveSheet.Shapes("CommandButton1").Cut
Application.ScreenUpdating = False
Application.Dialogs(xlDialogSaveAs).Show
End Sub
Gruß
Hans
Anzeige
AW: Ergänzung
13.04.2006 23:27:47
Mark
Hallo Hans,
vielen Dank für Deine Lösung.
Bei deinem Nachtrag gibt es bei mir allerdings Probleme. Der Code stoppt in der folgenden Zeile...
With ActiveWorkbook.VBProject.VBComponents("Tabelle1").CodeModule
Die Fehlermeldung lautet: "Der Programmatische Zugriff auf das Visual Basic - Projekt ist nicht sicher" - Laufzeitfehler 1004
Du schreibst oben, dass die Makros auch futsch wären. Gilt das dann auch für Userformen? Wenn dem so ist, möchte ich Dich nochmal bitten, den Code oben zum Laufen zu bringen.
Besten Dank
-Mark-
AW: Ergänzung
HansHei
Hallo Mark,
vielleicht solltest Du doch vorher erst unter Extras" "Makro" "Sicherheit..." "Vertrauenswürdige Quellen" den Haken in "...vertrauen" setzen. Mit diesem Code wird nur das Makro in "Tabelle1" gelöscht (nicht Tabellenblatt-Name). Eine weitere Zeile löscht den CommandButton1. Für Userformen müsste der Code ergänzt werden. Hab ich im Moment nicht drauf. Aber wenns soweit klappt, kannst Du hierzu ja eine neue Frage stellen.
Gruß
Hans
Anzeige
AW: Ergänzung
14.04.2006 11:37:18
Mark
Hallo Hans,
vielen Dank für Deinen Betrag.
Jetzt klappt alles wunderbar.
SUPER
Gruß
-Mark-
AW: Danke für die Rückmeldung...
HansHei
Hallo Mark,
Du kannst dann die Zeile:
SendKeys "%xksv {TAB 3} +~" 'lässt Zugriff auf VBA zu
löschen, -denke ich? Muss mich damit noch einmal beschäftigen.
Gruß
Hans
AW: Gefahr im Verzug ;-)
HansHei
Hallo Mark,
wenn Du den Speicherdialog abbrichst, läuft der Code dennoch weiter. Dann ist Deine Originaldatei geändert und Du läufst Gefahr, diese so zu speichern. Tausche das Makro aus oder ändere es so:
Private Sub CommandButton1_Click()
Dim z
Dim y As String
Application.ScreenUpdating = False
y = Application.Dialogs(xlDialogSaveAs).Show
If y = False Then GoTo Ende ' oder "Exit Sub"
Range("D16:H19").Copy
Range("D16").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
    For Each z In Range("A1:I13,A46:H57")
    z.ClearContents
Next
    With ActiveWorkbook.VBProject.VBComponents("Tabelle1").CodeModule
        .DeleteLines 1, .CountOfLines
    End With
ActiveSheet.Shapes("CommandButton1").Cut
Application.ScreenUpdating = False
Ende:
End Sub
Gruß
Hans
Anzeige
AW: Gefahr im Verzug ;-)
14.04.2006 21:02:06
Tassos
Hallo mark
Dies ist eine Lösung für Deine Mappe von gestern (Thread noch offen in "Offene Fragen")
https://www.herber.de/bbs/user/32888.xls
Frohes Ostern!
Tassos
AW: Gefahr im Verzug ;-)
14.04.2006 23:16:18
Tassos
Hallo Helpers, (Helpers des Forums oder Name?)
Danke für die Ergänzung!
Frohe Ostern!
Tassos
AW: Gefahr im Verzug ;-)
15.04.2006 00:02:14
Mark
Hallo Tassos und Helpers,
vielen Dank für Euren Beitrag. Meine Frage ist eigentlich nicht mehr offen, habe allerdings eine darauf aufbauende Frage.
Bin leider in VBA nicht so bewandert und habe Schwierigkeiten die Speicherpfade anzupassen. Grundsätzlich sollte die Speicherabfrage wie zuvor ablaufen.
Hier mein Ansatz mit Deinem Code. Klappt aber nicht richtig.

Sub export()
On Error GoTo Ende
With Application
Dim sh As Worksheet, wb$, b$, wbpath$, wbname$
.ScreenUpdating = False
.EnableEvents = False
.Cursor = xlWait
Sheets(1).Copy After:=Sheets(1)
Cells.Copy
Cells.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveSheet.Shapes("cmd_nachweis").Delete
Set sh = ActiveSheet
With ActiveWorkbook.VBProject.VBComponents(sh.CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
Application.SheetsInNewWorkbook = 1
wb = Workbooks.Add.Name
.SheetsInNewWorkbook = 3
ThisWorkbook.Sheets(2).Copy Before:=Workbooks(wb).Sheets(1)
b = Range(ActiveSheet.PageSetup.PrintArea).Row - 1
Rows("1:" & b).Delete Shift:=xlUp
.DisplayAlerts = False
Sheets(2).Delete
.DisplayAlerts = True
Sheets(1).Name = ThisWorkbook.Sheets(1).Name
Range("A1").Select
wbpath = Workbooks("Startseite.xls").Worksheets("Startseite").Range("a60")
wbname = Application.GetSaveAsFilename(wbpath & "\Projekte\", "Excel-Arbeitsmappe (*.xls),*.xls", , "Datei speichern")
If wbname = False Then Exit 

Sub 'Abbruch des Menüpunktes "Speichern unter"
ChDir wbpath ' optional
ActiveWorkbook.SaveAs Filename:= _
wbpath & "\" & wbname & ".xls", FileFormat:= _
xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False _
, CreateBackup:=False
ActiveWindow.Close
Ende:
.DisplayAlerts = False
ThisWorkbook.Sheets(2).Delete
.DisplayAlerts = True
.Cursor = xlDefault
.EnableEvents = True
End With
End Sub

Vielleicht kannst Du ja nochmal rüberschauen.
Ihr seht sowas ja immer sofort.
Ich werde`s weiter probieren.
Aber bis hierhin nochmal vielen Dank und FROHE OSTERN!
Gruß
-Mark-
Anzeige
AW: ich hatte keine Frage :-) o.T.
HansHei

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige