Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten per Input Box für Export

Daten per Input Box für Export
13.04.2020 20:13:27
Stefan
Hallo,
Ich möchte einen markierten Excelbereich als Jpg exportieren.
Mein Makro funktioniert soweit ganz gut, allerdings versuche ich , den Auswahlbereich über eine Inputbox anzusprechen.
Und hier hakt es. Irgendwie scheine ich bei der Inputbox etwas zu übersehen oder anders falsch zu machen.
Vielleicht hat hier im Forum wer eine Idee, das richtig zu stellen (fett die von mir eingefügte Input box, bzw, mein Versuch)
Sub SelectedRangeToImage()
Dim tmpChart As Chart, n As Long, shCount As Long, sht As Worksheet, sh As Shape
Dim fileSaveName As Variant, pic As Variant
Dim DataRange As Range
'Create temporary chart as canvas
Set sht = Selection.Worksheet
Set DataRange = Application.InputBox(Title:="Select your range", Prompt:="Select the  _
range of dates", Default:=ThisWorkbook.Range("D14:U42").Address, Type:=8)
Selection.Copy
sht.Pictures.Paste.Select
Set sh = sht.Shapes(sht.Shapes.Count)
Set tmpChart = Charts.Add
tmpChart.ChartArea.Clear
tmpChart.Name = "PicChart" & (Rnd() * 10000)
Set tmpChart = tmpChart.Location(Where:=xlLocationAsObject, Name:=sht.Name)
tmpChart.ChartArea.Width = sh.Width
tmpChart.ChartArea.Height = sh.Height
tmpChart.Parent.Border.LineStyle = 0
'Paste range as image to chart
sh.Copy
tmpChart.ChartArea.Select
tmpChart.Paste
'Save chart image to file
fileSaveName = Application.GetSaveAsFilename(FileFilter:="Image (*.jpg), *.jpg")
If fileSaveName  False Then
tmpChart.EXPORT FileName:=fileSaveName, FilterName:="jpg"
End If
'Clean up
sht.Cells(1, 1).Activate
sht.ChartObjects(sht.ChartObjects.Count).Delete
sh.Delete
End Sub

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten per Input Box für Export
14.04.2020 07:03:36
Werner
Hallo,
versuch mal so:
Sub SelectedRangeToImage()
Dim tmpChart As Chart, n As Long, shCount As Long, sht As Worksheet, sh As Shape
Dim fileSaveName As Variant, pic As Variant, DataRange As Range
'Create temporary chart as canvas
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Set sht = Selection.Worksheet
On Error Resume Next
Application.DisplayAlerts = False
Set DataRange = Application.InputBox(Title:="Select your range", _
Prompt:="Select the range of dates", Default:="D14:U42", Type:=8)
If Not DataRange Is Nothing Then
DataRange.Copy
sht.Pictures.Paste.Select
Set sh = sht.Shapes(sht.Shapes.Count)
Set tmpChart = Charts.Add
tmpChart.ChartArea.Clear
tmpChart.Name = "PicChart" & (Rnd() * 10000)
Set tmpChart = tmpChart.Location(Where:=xlLocationAsObject, Name:=sht.Name)
tmpChart.ChartArea.Width = sh.Width
tmpChart.ChartArea.Height = sh.Height
tmpChart.Parent.Border.LineStyle = 0
'Paste range as image to chart
sh.Copy
tmpChart.ChartArea.Select
tmpChart.Paste
'Save chart image to file
fileSaveName = Application.GetSaveAsFilename(FileFilter:="Image (*.jpg), *.jpg")
If fileSaveName  False Then
tmpChart.Export Filename:=fileSaveName, FilterName:="jpg"
End If
'Clean up
sht.Cells(1, 1).Activate
sht.ChartObjects(sht.ChartObjects.Count).Delete
sh.Delete
End If
Set DataRange = Nothing: Set sh = Nothing: Set tmpChart = Nothing
On Error GoTo 0
End Sub
Gruß Werner
Anzeige
AW: Daten per Input Box für Export
14.04.2020 08:34:05
Stefan
Vielen Dank, Werner!
Gerne u. Danke für die Rückmelsung. o.w.T.
14.04.2020 21:47:01
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige