Thema Datum  Von Nutzer Rating
Antwort
16.12.2014 21:48:27 Hannes
NotSolved
Blau Variablen übergeben
17.12.2014 08:57:41 Gast45795
NotSolved

Ansicht des Beitrags:
Von:
Gast45795
Datum:
17.12.2014 08:57:41
Views:
943
Rating: Antwort:
  Ja
Thema:
Variablen übergeben

Moin,

ich behaupte mal die Value.Property eines Series-Object kannste NUR als RANGE (Zellbezug) oder Datenfeld(array) rüberbringen.

Für einen Zellbezug muss das Workbook jedoch aktiv sein, oder du besorgst dein Datenfeld in anderer Weise aus einer geschlossenen Datei.

Keine Lust deine wohernehmichdieDatenMethode nachzubauen, daher ein einfaches Beispiel zumZum:

 

Option Explicit

Sub TestDiaErstellen()
'Vorgaben
Const startm As Long = 2      'Tabellenzeilen sind Typ LONG !!!
Const endm As Long = 10
Const startf As Long = 2
Const endf As Long = 10
Const fPath As String = "C:\VBA\FrauDiagramm.xlsx" 'Testpfad
'sonst Deklaration
Dim chDiagramm As ChartObject
Dim mPath As String              'ich mag keine Variablen die auch BefehlsSyntax!

'zum Test vorher löschen
For Each chDiagramm In ActiveSheet.ChartObjects
   chDiagramm.Delete
Next chDiagramm

'von mir aus
Set chDiagramm = ActiveSheet.ChartObjects.Add(50, 100, 500, 350)
    chDiagramm.Chart.ChartType = xlXYScatterLines
    chDiagramm.Name = "Einwohner"
         
    With chDiagramm.Chart.SeriesCollection.NewSeries
        .XValues = "=Tabelle1!A" + CStr(startm) + ":A" + CStr(endm)
        .Values = "=Tabelle1!B" + CStr(startm) + ":B" + CStr(endm)
        .Name = "Männer"
    End With

'ging einfacher da [ unnötig
mPath = Mid(fPath, 1, InStrRev(fPath, "\")) & "[" & Mid(fPath, _
   InStrRev(fPath, "\") + 1, Len(fPath) - InStrRev(fPath, "\"))
'aber
Debug.Print mPath ' da steckt ein [ drin, des mog a net!
'dann eben wieder weg
Workbooks.Open Replace(mPath, "[", "")
'
Workbooks(1).Activate
'jetzt kann auf einen Bereich zugegriffen werden
With chDiagramm.Chart.SeriesCollection.NewSeries
'.XValues = "=[FrauDiagramm.xlsm]Tabelle1!$A$2:$A$10"
'.Values = "=[FrauDiagramm.xlsm]Tabelle1!$B$2:$B$10"

        .XValues = "='[" + Workbooks(2).Name + "]Tabelle1'!A" + CStr(startf) + ":A" + CStr(endf)
        .Values = "='[" + Workbooks(2).Name + "]Tabelle1'!B" + CStr(startf) + ":B" + CStr(endf)
        .Name = "Frauen"
    End With

Workbooks(2).Close False

End Sub

 

 

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
16.12.2014 21:48:27 Hannes
NotSolved
Blau Variablen übergeben
17.12.2014 08:57:41 Gast45795
NotSolved