Hallo Profis!
Ich habe mich gerade mal an einem Makro für Excel versucht.
Es gibt mehrere Diagramme, die Daten aus verschiedenen Spalten eines Tabellenblattes darstellen. Nun füge ich immer wieder Daten durch Import einer Textdatei hinzu.
Danach muss ich für jedes Diaggramm den Datenquellbereich anpassen. Dies wollte ich nun automatisieren.
Dank der Makro-Aufzeichnung war schnell klar, wie ich den Datenbereich manipuliere. Für das Bestimmen der letzten benutzten Zeile war etwas Suchen in der Hilfe nötig.
Das Ergebnis funktioniert aber leider nicht. Excel sucht bei der „Set“-Zuweisung ein Objekt. :?
Was mach ich falsch??
Hier der Quelltext:
Sub Diagramme_anpassen()
’
’ Diagramme_anpassen Makro
’
’ Tastenkombination: Strg+d
’
Dim lastrow As String
Set lastrow = Sheets.Item(„Tabelle 1“).xlCellTypeLastCell.Row
Sheets(„U 1“).Select
ActiveChart.SetSourceData Source:=Sheets(„Tabelle1“).Range( _
„A1:A“ & lastrow & „,D1:E“ & lastrow), PlotBy:=xlColumns
Sheets(„I 1“).Select
ActiveChart.SetSourceData Source:=Sheets(„Tabelle1“).Range( _
„A1:A“ & lastrow & „,F1:G“ & lastrow), PlotBy:=xlColumns
Sheets(„U 2“).Select
ActiveChart.SetSourceData Source:=Sheets(„Tabelle1“).Range( _
„A1:A“ & lastrow & „,I1:J“ & lastrow), PlotBy:=xlColumns
Sheets(„I 2“).Select
ActiveChart.SetSourceData Source:=Sheets(„Tabelle1“).Range( _
„A1:A“ & lastrow & „,K1:L“ & lastrow), PlotBy:=xlColumns
Sheets(„U 3“).Select
ActiveChart.SetSourceData Source:=Sheets(„Tabelle1“).Range( _
„A1:A“ & lastrow & „,N1:open_mouth:“ & lastrow), PlotBy:=xlColumns
Sheets(„I 3“).Select
ActiveChart.SetSourceData Source:=Sheets(„Tabelle1“).Range( _
„A1:A“ & lastrow & „,P1:Q“ & lastrow), PlotBy:=xlColumns
Sheets(„U 4“).Select
ActiveChart.SetSourceData Source:=Sheets(„Tabelle1“).Range( _
„A1:A“ & lastrow & „,S1:T“ & lastrow), PlotBy:=xlColumns
Sheets(„I 4“).Select
ActiveChart.SetSourceData Source:=Sheets(„Tabelle1“).Range( _
„A1:A“ & lastrow & „,U1:V“ & lastrow), PlotBy:=xlColumns
End Sub