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

Forumthread: Makro-Diagramm aus mehreren sheets

Makro-Diagramm aus mehreren sheets
08.09.2016 15:50:21
Hans

Hallo, ich bin neu hier.
Ich habe angefangen für ein Projekt was zu programmieren einen Makro in VBA. Habe mir dafür ein Muster Makro gesucht ..leider klappt es nicht.
Mein Gedankengang war: Excel öffnen und makro auswählen--> Datei auswählen mit Tabellen.--> Letztes Sheet soll das Diagramm sein. -->Funktion makro: mehrere Sheets mit mit Tabellen.--> es sollen immer spalten A und E in das Diagramm, diese sind variabel... Alles aber in ein Diagramm.
Kann mir jemand bitte Tipps bzw. eine Verbesserung geben. Bekomme das mit der Programmierung für die mehreren Sheets nicht ihn
Danke.
Sub DiagrammErstellen()
Dim i, lastrow, X, Y, spalten, cht, l, r, datei
datei = Application.GetOpenFilename()
If datei = False Then Exit Sub
Workbooks.Open datei
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
X = "A2:A" & lastrow
Y = "F2:F" & lastrow
ActiveSheet.Copy After:=Sheets(Sheets.Count)
Sheets(Sheets.Count).Select
neuname = InputBox("Diagramm")
ActiveSheet.Name = Diagramm
cht.Chart.ChartType = xlXYScatter
cht.Chart.SetSourceData Source:=Sheets(*).Range(X & "," & Y)
cht.Chart.SeriesCollection(1).Name = "='" & ActiveSheet.Name & "'!$" & spalten(i) & "$1"
cht.Width = 180   'Breite des Diagramms
cht.Height = 150  'Höhe
If i Mod 2 = 0 Then
cht.Left = Range("O2").Left 'O2 linke obere Ecke der Diagramme aus Spalte E
cht.Top = Range("O2").Offset(l * 14, 0).Top
l = l + 1
Else
cht.Left = Range("S2").Left 'S2 linke obere Ecke der Diagramme aus Spalte C/G/K
cht.Top = Range("S2").Offset(r * 14, 0).Top
r = r + 1
End If
'ActiveWorkbook.Close True
End Sub

Danke.
Er würde mir reichen, wenn er aus dem Anderen sheets nur die F Tabelle nimmt
Hier als Beispiel für 3..Benötige aber Vaiable anzahl von Sheets und von Zeilen.
Sub Diagramm2()
' Diagramm2 Makro
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlXYScatterLines
ActiveChart.SetSourceData Source:=Sheets("Sheet1").Range("F1:F161")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "=""Force2"""
ActiveChart.SeriesCollection(2).XValues = "='Sheet1 (2)'!$A$2:$A$161"
ActiveChart.SeriesCollection(2).Values = "='Sheet1 (2)'!$F$2:$F$161"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(3).Name = "=""Force3"""
ActiveChart.SeriesCollection(3).XValues = "='Sheet1 (3)'!$A$2:$A$161"
ActiveChart.SeriesCollection(3).Values = "='Sheet1 (3)'!$F$2:$F$161"
End 

Sub


		
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro-Diagramm aus mehreren sheets
08.09.2016 19:19:22
Beverly
Hi Hans,
lade eine Beispielmappe hoch.


AW: Makro-Diagramm aus mehreren sheets
09.09.2016 10:20:12
Hans
Hallo, habe die Beispiel Datei schon hochgeladen. Der makro läd alle Sheets rein und dann brauche ich auf Tabellenblatt 1 ein Diagramm mit Kurven aus der Spalte a und f. Dabei sind aber Sheets und Zeilenanzahl Variabel. Vielen Vielen Dank. Jetzt schon für die Hilfe.
Anzeige
AW: Makro-Diagramm aus mehreren sheets
09.09.2016 16:27:40
Beverly
Hi,
Sub DiagrammErstellen()
Dim chrDia As Chart
Dim lngReihe As Long
Dim wksTab As Worksheet
Dim lngLetzte As Long
Set chrDia = Worksheets(1).ChartObjects.Add(0, 0, 0, 0).Chart
With chrDia
.ChartType = xlXYScatterLines
If .SeriesCollection.Count > 0 Then
For lngReihe = .SeriesCollection.Count To 1 Step -1
.SeriesCollection(lngReihe).Delete
Next lngReihe
End If
For Each wksTab In Worksheets
lngLetzte = IIf(IsEmpty(wksTab.Cells(wksTab.Rows.Count, 1)), _
wksTab.Cells(wksTab.Rows.Count, 1).End(xlUp).Row, wksTab.Rows.Count)
With .SeriesCollection.NewSeries
.XValues = wksTab.Range(wksTab.Cells(2, 1), wksTab.Cells(lngLetzte, 1))
.Values = wksTab.Range(wksTab.Cells(2, 5), wksTab.Cells(lngLetzte, 5))
End With
Next wksTab
.HasLegend = False
.Parent.Top = Range("O2").Top
.Parent.Left = Range("O2").Left
.Parent.Height = 150
.Parent.Width = 180
End With
Set chrDia = Nothing
End Sub


Anzeige
AW: Makro-Diagramm aus mehreren sheets
12.09.2016 08:47:47
Hans
Hallo, Vielen dank für die Hilfe sieht Klasse aus und Funktioniert. Nur ein Anliegen noch die Spalten sind Variabele, d.h. ich habe Werte von 160 bis 460 Wertepaaren , bei der Datei geht es leider nur bis 160 . Gruß Markus
AW: Makro-Diagramm aus mehreren sheets
12.09.2016 10:03:12
Hans
Danke. Geht doch super. sorry.Vergiss das davor. Ich danke dir . Vielen Dank.
Anzeige
;

Forumthreads zu verwandten Themen

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