Probleme beim anlegen einer Excel Mappe mit Hilfe von VBA

Elscha

Mitglied
Hallo
Ich habe gleich 2 PRobleme wenn ich mit Access und VBA ein nues Excel Dokument anlegen möchte.
Problem Nr. 1 ich kann mein Excel Sheet nicht umbennen, hier mal alles was ich ausporbiert hab.
Code:
    excelObj.ActiveWorkbook.Sheets(1).Name = sheetTitle
    excelObj.Sheets(1).Select
    excelObj.Sheets(1).Name = sheetTitle
    excelBook.Sheets(1).Name = sheetTitle
    excelSheet.Name = sheetTitle
    excelObj.Sheets("Tabelle1").Select
    excelObj.Sheets("Tabelle1").Name = sheetTitle
    excelBook.Sheets("Tabelle1").Name = sheetTitle
    excelBook.Worksheets(1).Name = sheetTitle
Mein zweites Problem: Ich erstelle ein Dokument mit verschiedenen Daten, aus dennen dann wiederum in Excel eine Grafik erzeugt werden soll. Alles schön ung gut, jedoch wenn ich ein zweites Dokemt erzeuge, dann landet die Grafik auf dem ersten Dokument ( Auch wenn ich es schon geschlossen, oder auch gar nicht abgespeiochert hab (In diesem Fall fehlt dann die Grafik).

Von daher hab ich versucht erstmal alles zu schließen befor ich das Exceldokument anlege
Code:
Dim excelObj As New Excel.Application
    Dim excelBook As Excel.Workbook
    Dim excelSheet As Excel.Worksheet
    
    On Error Resume Next
    excelBook.Close
    On Error Resume Next
    excelObj.Quit
    On Error Resume Next
    Set excelSheet = Nothing
    On Error Resume Next
    Set excelBook = Nothing
    On Error Resume Next
    Set excelObj = Nothing

Hier der Code zum anlegen meiner Grafik
Code:
range = "A7:B" & currentrow
    Debug.Print "Range: " & range
    excelSheet.range(range).Select
    Charts.Add
    ActiveChart.ChartType = xlLineMarkers
    ActiveChart.SetSourceData Source:=Sheets(sheetTitle).range(range), PlotBy:=xlColumns
    ActiveChart.Location Where:=xlLocationAsObject, Name:=sheetTitle
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "Stückpreise für " & sheetTitle
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With
    ActiveChart.ApplyDataLabels AutoText:=True, LegendKey:=False, _
        HasLeaderLines:=False, ShowSeriesName:=False, ShowCategoryName:=False, _
        ShowValue:=True, ShowPercentage:=False, ShowBubbleSize:=False
    ActiveChart.HasLegend = False

Bin schon echt am verzweifeln.
 
Hmmm hab gestern den ganzen Tag dran gesessen und nu klappt es sofort, auch das zweite PRoblem hab ich gelösst. Musste das Chart Objekt vom aktiven Woorkboot aus ansprechen, hier nun die Einfügeoption wie sie funktioniert.
Code:
'Diagramm erstellen
    range = "A7:B" & currentrow
    Debug.Print "Range: " & range
    excelSheet.range(range).Select
    excelBook.Charts.Add
    'Charts.Add
    excelBook.ActiveChart.ChartType = xlLineMarkers
    excelBook.ActiveChart.SetSourceData Source:=Sheets(sheetTitle).range(range), PlotBy:=xlColumns
    excelBook.ActiveChart.Location Where:=xlLocationAsObject, Name:=sheetTitle
    With excelBook.ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "Stückpreise für " & sheetTitle
        .Axes(xlCategory, xlPrimary).HasTitle = False
        .Axes(xlValue, xlPrimary).HasTitle = False
    End With
    excelBook.ActiveChart.ApplyDataLabels AutoText:=True, LegendKey:=False, _
        HasLeaderLines:=False, ShowSeriesName:=False, ShowCategoryName:=False, _
        ShowValue:=True, ShowPercentage:=False, ShowBubbleSize:=False
    excelBook.ActiveChart.HasLegend = False
 
Zurück