08.09.2016, 10:21
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 B/F/G
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. :20:
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 B/F/G
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. :20: