Ausgabe in Excel

redriver

Mitglied
Hallo

ich habe ein programm geschrieben, welches eine komplexe rechnung beinhaltet, soweit funktioniert alles, nur möche ich die ergebnisse in excel grafisch ausgeben.
Nur wie geht das?
Es kommen 3 Ergebnisse raus, diese sollen dann in Excel in drei verschiedene Graphen dargestellt werden, dazu sollte noch eine kleine Bewertung erscheihenen
Ist das überhaupt möglich?


mfg
 
danke,

ich arbeite mich da jetzt mal ein, wenn ich noch fragen habe, darf ich die doch bestimmt stellen:)
 
Zuletzt bearbeitet:
Hallo,

ich habe jetzt mal ein wenig rumprobiert, ich habe es jetzt geschafft das eine Variabele in einen Balkendiagramm gesetzt wird, also ist jetzt feintuning angeaagt und da komme ich nicht weiter

Code:
ausgabe = a * 2





Dim oXL As Object        ' Excel application
    Dim oBook As Object      ' Excel workbook
    Dim oSheet As Object     ' Excel Worksheet
    Dim oChart As Object     ' Excel Chart
    
    Dim iRow As Integer      ' Index variable for the current Row
    Dim iCol As Integer      ' Index variable for the current Row
    
    Const cNumCols = 1     ' Number of points in each Series
    Const cNumRows = 1       ' Number of Series

    
    ReDim aTemp(1 To cNumRows, 1 To cNumCols)
    
    'Start Excel and create a new workbook
    Set oXL = CreateObject("Excel.application")
    Set oBook = oXL.Workbooks.Add
    Set oSheet = oBook.Worksheets.Item(1)
    
    ' Insert Random data into Cells for the two Series:
    Randomize Now()
    For iRow = 1 To cNumRows
       For iCol = 1 To cNumCols
          aTemp(iRow, iCol) = ausgabe
       Next iCol
    Next iRow
    oSheet.Range("A1").Resize(cNumRows, cNumCols).Value = aTemp
    
    'Add a chart object to the first worksheet
    Set oChart = oSheet.ChartObjects.Add(50, 40, 300, 200).Chart
    oChart.SetSourceData Source:=oSheet.Range("A1").Resize(cNumRows, cNumCols)

    ' Make Excel Visible:
    oXL.Visible = True

    oXL.UserControl = True
        


End Sub


das ist ein kleines programm zum testen das ergebniss wird dann in eine excel tabelle eingefügt, nur möche ich das links nicht die werte angezeigt werden, und möchte ich der tabelle einen namen geben nicht reihe 1 sonderen etwas eigenes , wie mache ich das
deweiteren soll noch ein text in der excel tabelle erscheinen wie kann ich den da einfügen?

noch eine frage wie mache ich das mehrere Diagramme in einem Worksheet entstehen?

danke
 

Anhänge

  • tabelle.jpg
    tabelle.jpg
    32,5 KB · Aufrufe: 113
Zuletzt bearbeitet:
siehe kommentare!
Code:
Sub test()
ausgabe = 5





    Dim oXL As Object        ' Excel application
    Dim oBook As Object      ' Excel workbook
    Dim oSheet As Object     ' Excel Worksheet
    Dim oChart As Object     ' Excel Chart
    
    Dim iRow As Integer      ' Index variable for the current Row
    Dim iCol As Integer      ' Index variable for the current Row
    
    Const cNumCols = 2     ' Number of points in each Series
    Const cNumRows = 1       ' Number of Series

    
    ReDim aTemp(1 To cNumRows, 1 To cNumCols)
    
    'Start Excel and create a new workbook
    Set oXL = CreateObject("Excel.application")
    Set oBook = oXL.Workbooks.Add
    Set oSheet = oBook.Worksheets.Item(1)
    
    ' Insert Random data into Cells for the two Series:
    Randomize Now()
    For iRow = 1 To cNumRows
          aTemp(iRow, 1) = "Wert:" 'Diese datenbeschriftung erscheint dann in der legende, so wird einfach der text eingegen!
          aTemp(iRow, 2) = ausgabe
    Next iRow
    oSheet.Range("A1").Resize(cNumRows, cNumCols).Value = aTemp
    
    'Add a chart object to the first worksheet
    
    Set oChart = oSheet.ChartObjects.Add(50, 40, 300, 200).Chart
    With oChart
        .SetSourceData Source:=oSheet.Range("A1").Resize(cNumRows, cNumCols)
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "x-achsenbeschr"
        .HasTitle = True
        .ChartTitle.Characters.Text = "Diagrammtitel"
        .HasAxis(2, 1) = False '(oder auch: "oChart.HasAxis(xlValue, xlPrimary) = False") keine beschr. der y-achse
   End With
   Set oChart = Nothing
    ' Make Excel Visible:
    oXL.Visible = True

    oXL.UserControl = True
       
     'tipp: am saubersten: mit "nothing" ojekte wieder freigeben
    Set oSheet = Nothing
    Set oBook = Nothing
    Set oXL = Nothing
 
    

End Sub

für mehrere graphen musst einfach nur zwischen dein beiden "set ochart"-befehlen eine schleife laufen lassen, und sowohl die position als auch die quelle parametrisieren!

upps, vergessen: du musst unterumständen alle systemkonstanten ("xlautomatic,xlprimary, xlvalue,....) durch die entsprechenden numerischen werte ersetzen, siehe dem eintrag in der objektbibliothek

gruß
thekorn
 
Zurück