Anzeige
Archiv - Navigation
1752to1756
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
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

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

62 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige