Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Image
BildScreenshot zu Image Image-Seite mit Beispielarbeitsmappe aufrufen

Tabellenbereich als Bild speichern | Herbers Excel-Forum


Betrifft: Tabellenbereich als Bild speichern von: DirkR
Geschrieben am: 13.02.2012 15:33:31

Hallo Excelgemeinde,

ich versuche nun schon seit geraumer Zeit einen Tabellenbereich als Bild zu speichern.
Leider gelingt mir das nur sehr schlecht. Ich habe duzende Beiträge gefunden, ebensoviele Makros getestet. Aber leider stellt mich nichts von dem, was ich im Archiv finde, zufrieden. :-(

Ich habe mal den Bereich in eine Datei kopiert:
https://www.herber.de/bbs/user/78899.xls

Leider sind nach dem Export die Linien und die Schrift ganz anders. Die Schrift wirkt unleserlich auf dem Foto. Die Linien sind Unterschiedlich und das obwohl in der Datei die Linien gleich sind.
Ich benötige aber die Bilder in nahezu perfekter Kopie zum reelen Druck!

Immer wieder versuche ich mit neuem Mut verschiedene Makros aber leider ohne Erfolg. Langsam glaube ich schon, dass es an meiner Bildschirmauflösung oder etwas Anderem an meinem PC liegt!?!?!

Ich hoffe, dass jemand mir helfen kann!?!?!

Gruß DirkR

  

Betrifft: AW: Tabellenbereich als Bild speichern von: Rudi Maintaire
Geschrieben am: 13.02.2012 15:45:20

Hallo,
die Bilder in nahezu perfekter Kopie
das wird dir nicht gelingen.

Versuchs mal mit
rngImage.CopyPicture Appearance:=xlPrinter, Format:=xlPicture

Gruß
Rudi


  

Betrifft: AW: Tabellenbereich als Bild speichern von: DirkR
Geschrieben am: 13.02.2012 15:55:56

Hallo Rudi,

danke für deinen Vorschlag. Leider hat es das Ergebnis noch verschlimmert.
Das sieht nicht gut aus, oder?????

Ich hoffe weiterhin auf gute Ideen!!

Gruß Dirk


  

Betrifft: AW: Tabellenbereich als Bild speichern von: Dieter
Geschrieben am: 13.02.2012 16:04:38

Hallo Dirk,

ich kann in Deiner Erklärung nicht erkennen, ob das ganze unbedingt als Makro sein muß.
Ich persönlich markiere den Bereich, den ich als Bild haben möchte und drücke SHIFT+linke Maustaste auf dem Menü-Punkt "Bearbeiten". Dann gibt es den Menüpunkt "Bild kopieren". Im anschließenden Dialog "Bitmap" auswählen. Dieses Bild kannst Du wo auch immer Du willst weiterverwenden.

Dann hast Du die Qualität wie zuvor angezeigt.

Hilft Dir das weiter?

Gruß
Dieter


  

Betrifft: AW: Tabellenbereich als Bild speichern von: DirkR
Geschrieben am: 13.02.2012 21:45:55

Hallo Dieter,

danke für den Hinweis.
Das wäre dann Plan B, wenn es nicht anders zu lösen ist.

Da ich aber immer wieder mal Bilder speichern muss, hätte ich das eigentlich schon gerne automatisiert.
Daher der Wunsch dies mit einem Makro zu lösen.
Dazu kommt noch, dass es sein kann, dass ein Kollege die Datei bearbeitet. Ob er deinen Weg hinbekommt???? Ich weiß nicht so recht.

Aber als Plan B auf jeden Fall denkbar!

Gruß Dirk


  

Betrifft: AW: Tabellenbereich als Bild speichern von: Detlef
Geschrieben am: 14.02.2012 10:09:13

Hallo Dirk,

Sub copy_Bild()
    Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
    Sheets("Tabelle2").Select
    ActiveSheet.PasteSpecial Format:="Bild (Erweiterte Metadatei)", Link:=False _
        , DisplayAsIcon:=False
End Sub
Gruß Detlef


  

Betrifft: AW: Tabellenbereich als Bild speichern von: DirkR
Geschrieben am: 14.02.2012 11:36:52

Hallo Detlef,

ich würde gernen deinen Vorschlag in meinem vorhandenen Code einfließen lassen und testen, weiß aber nicht genau wie???? Ich finde den Ansatz für PastSpecial nicht wirklich.

Kannst du mir helfen???

Sub Bild_erzeugen(x As Boolean)
Application.ScreenUpdating = False
Dim myChartObject As ChartObject, myShape As Shape
Dim bolfound As Boolean

With Sheets("Z2 R")
  .Range("B3:AP51").Copy
  .Range("A1").Select
  .Pictures.Paste.Select
  Application.CutCopyMode = False
    With Selection
     .ShapeRange.LockAspectRatio = msoTrue 'msoFalse
     .ShapeRange.Rotation = 0#
     .Width = 1550
     '.Height = 786

        For Each myShape In ActiveSheet.Shapes
            If myShape.Type = msoPicture Then bolfound = True: Exit For
        Next
          If bolfound Then
            myShape.CopyPicture Appearance:=xlScreen, Format:=xlBitmap 'Format:=xlPicture
            Worksheets.Add
            Set myChartObject = ActiveSheet.ChartObjects.Add(0, 0, myShape.Width, myShape. _
Height)
            With myChartObject
                .Activate
                .Border.LineStyle = xlNone
                .Chart.Paste
                
                .Chart.Export Filename:=GetCustProp(cstrPropertyName, cstrDefaultPath) & "\Neue  _
Aufnahmen\KO-" _
                    & Sheets("Datenbank").Cells(17, 8).Value & "-ZF.gif", _
                    FilterName:="gif", Interactive:=False
                
                .Chart.Export Filename:=GetCustProp(cstrPropertyName, cstrDefaultPath) & "\Neue  _
Aufnahmen\KO-" _
                    & Sheets("Datenbank").Cells(17, 8).Value & "-ZF.jpg", _
                    FilterName:="jpg", Interactive:=False
            End With
            Application.DisplayAlerts = False
            ActiveSheet.Delete
            Application.DisplayAlerts = True
            Set myChartObject = Nothing
            Set myShape = Nothing
          End If
     .Delete
    End With
End With
Application.ScreenUpdating = True
End Sub
Gruß Dirk


  

Betrifft: AW: Tabellenbereich als Bild speichern von: Detlef
Geschrieben am: 14.02.2012 22:11:57

Hallo Dirk,

da bin ich auch überfragt, weil ich deine Abläufe nicht kenne. Dein Code ist nur ein Teil und somit kann ich nicht testen. Ich hatte meinen Vorschlag aus einem VBA kopiert, das alle ExcelGrafiken als Bilder in PowerPoint Präsentation einbaut, allerdings unter Office-xp geschrieben.

Ich lass somit deine Frage mal offen.

Gruß Detlef


Beiträge aus den Excel-Beispielen zum Thema "Tabellenbereich als Bild speichern"