Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1328to1332
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA - Diagramm erstellen via Recorder läuft nicht

VBA - Diagramm erstellen via Recorder läuft nicht
06.09.2013 10:35:26
Matthias
Hallo zusammen,
Vorweg: Ich habe keine Kenntnisse in VBA, nur mit dem Recorder zum Teil gearbeitet, aber ich denke ein Makro würde mir eine Menge Arbeit ersparen.
Zum Problem:
Ich bin schon seit längerer Zeit dabei ein Diagramm über den Makrorecorder zu erstellen, aber es funktioniert einfach nicht ... habe auch schon hier im Forum geschaut, aber nichts 100% passendes gefunden.
Ausgangslage ist eine Tabelle mit zunächst 2 Spalten und 404 Zeilen.
Es soll ein Diagramm erstellt werden mit den im Code angegebenen Quellen (Alleine das funktioniert schon nicht).
Wenn das Problem gelöst sein sollte, möchte ich das ganze noch variabel gestalten, da es von dem "Datenpaket" "2 Spalten und 404 Zeilen" noch ca. 10 weitere gibt, mit den Daten in den gleichen Zeilen ...
Ich hoffe es ist eineigermaßen verständlich erklärt, kann leider keine Datei direkt uploaden, da es sich um unternehmensinterne Infos handelt.
Code:

Sub Makro4()
' Makro4 Makro
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLine
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = "=""Gesamt"""
ActiveChart.SeriesCollection(1).Values = "='Tabelle2'!$Z$37;'Tabelle2'!$Z$69;'Tabelle2'!$Z$ _
103;'Tabelle2'!$Z$136;'Tabelle2'!$Z$170;'Tabelle2'!$Z$203;'Tabelle2'!$Z$237;'Tabelle2'!$Z$271;'Tabelle2'!$Z$304;'Tabelle2'!$Z$338;'Tabelle2'!$Z$371;'Tabelle2'!$Z$405"
ActiveChart.SeriesCollection(1).XValues = "='Tabelle2'!$N$372;'Tabelle2'!$N$339;'Tabelle2'!$N$ _
305;'Tabelle2'!$N$272;'Tabelle2'!$N$238;'Tabelle2'!$N$204;'Tabelle2'!$N$171;'Tabelle2'!$N$137;'Tabelle2'!$N$104;'Tabelle2'!$N$70;'Tabelle2'!$N$38;'Tabelle2'!$N$4"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "=""Umbuchung von"""
ActiveChart.SeriesCollection(2).Values = "='Tabelle2'!$Z$36;'Tabelle2'!$Z$68;'Tabelle2'!$Z$102;' _
Tabelle2'!$Z$135;'Tabelle2'!$Z$169;'Tabelle2'!$Z$202;'Tabelle2'!$Z$236;'Tabelle2'!$Z$270;'Tabelle2'!$Z$303;'Tabelle2'!$Z$337;'Tabelle2'!$Z$370;'Tabelle2'!$Z$404"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(3).Name = "=""Umbuchung nach"""
ActiveChart.SeriesCollection(3).Values = "='Tabelle2'!$AA$404;'Tabelle2'!$AA$370;'Tabelle2'!$AA$ _
337;'Tabelle2'!$AA$303;'Tabelle2'!$AA$270;'Tabelle2'!$AA$236;'Tabelle2'!$AA$202;'Tabelle2'!$AA$169;'Tabelle2'!$AA$135;'Tabelle2'!$AA$102;'Tabelle2'!$AA$68;'Tabelle2'!$AA$36"
End Sub
beim fettgedruckten Teil spuckt mir Excel bereits den Fehler "1004" aus "Anwendungs- oder objejektdefinierter Fehler"
Vielleicht kann mir ja einer direkt weiterhelfen.
Danke im voraus!
Gruß,
Matthias

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA - Diagramm erstellen via Recorder läuft nicht
06.09.2013 11:35:40
Beverly
Hi Matthias,
Sub DiaErstellen()
Dim rngWerte As Range
Dim rngXWerte As Range
Set rngXWerte = Union(Range("'Tabelle2'!$N$372"), Range("'Tabelle2'!$N$339"), _
Range("'Tabelle2'!$N$305"), Range("'Tabelle2'!$N$272"), _
Range("'Tabelle2'!$N$238"), Range("'Tabelle2'!$N$204"), _
Range("'Tabelle2'!$N$171"), Range("'Tabelle2'!$N$137"), _
Range("'Tabelle2'!$N$104"), Range("'Tabelle2'!$N$70"), _
Range("'Tabelle2'!$N$38"), Range("'Tabelle2'!$N$4"))
With ActiveSheet.Shapes.AddChart
.Chart.ChartType = xlLine
With .Chart.SeriesCollection.NewSeries
.Name = "Gesamt"
Set rngWerte = Union(Range("'Tabelle2'!$Z$37"), Range("'Tabelle2'!$Z$69"), _
Range("'Tabelle2'!$Z$103"), Range("'Tabelle2'!$Z$136"), _
Range("'Tabelle2'!$Z$170"), Range("'Tabelle2'!$Z$203"), _
Range("'Tabelle2'!$Z$237"), Range("'Tabelle2'!$Z$271"), _
Range("'Tabelle2'!$Z$304"), Range("'Tabelle2'!$Z$338"), _
Range("'Tabelle2'!$Z$371"), Range("'Tabelle2'!$Z$405"))
.Values = rngWerte
.XValues = rngXWerte
End With
With .Chart.SeriesCollection.NewSeries
.Name = "Umbuchung von"
Set rngWerte = Union(Range("'Tabelle2'!$Z$36"), Range("'Tabelle2'!$Z$68"), _
Range("'Tabelle2'!$Z$102"), Range("'Tabelle2'!$Z$135"), _
Range("'Tabelle2'!$Z$169"), Range("'Tabelle2'!$Z$202"), _
Range("'Tabelle2'!$Z$236"), Range("'Tabelle2'!$Z$270"), _
Range("'Tabelle2'!$Z$303"), Range("'Tabelle2'!$Z$337"), _
Range("'Tabelle2'!$Z$370"), Range("'Tabelle2'!$Z$404"))
.Values = rngWerte
End With
With .Chart.SeriesCollection.NewSeries
.Name = "Umbuchung nach"
Set rngWerte = Union(Range("'Tabelle2'!AA$404"), Range("'Tabelle2'!AA$370"), _
Range("'Tabelle2'!AA$337"), Range("'Tabelle2'!$AA$303"), _
Range("'Tabelle2'!$AA$270"), Range("'Tabelle2'!$AA$236"), _
Range("'Tabelle2'!$AA$202"), Range("'Tabelle2'!AA$169"), _
Range("'Tabelle2'!$AA$135"), Range("'Tabelle2'!$AA$102"), _
Range("'Tabelle2'!$AA$68"), Range("'Tabelle2'!$AA$36"))
.Values = rngWerte
End With
End With
Set rngXWerte = Nothing
Set rngWerte = Nothing
End Sub
Prüfe bitte noch einmal, ob ich alle Zellbezüge richtig übernommen habe.


Anzeige
AW: VBA - Diagramm erstellen via Recorder läuft nicht
09.09.2013 08:25:26
Matthias
Hi Karin,
danke für die schnelle Antwort! Die Lösung läuft perfekt!
Jetzt hätte ich noch eine Frage, ob man die Zellbezüge auch variabel gestalten kann?
D.h. das sich die Zellbezüge in einem bestimmten Bereich ändern?
Es sollte z.B. im nächsten "Durchlauf" aus "AA", "AC" werden und aus "Z" dann "AB" ... und das ganze dann so weiter bis aus "AA", "BO" wurde und aus "Z" dann "BN".
Der Zellbezug "N" bleibt immer gleich. Es sollten also im Endeffekt 21 Diagramme entstehen.
Danke schonmal im voraus!
Gruß,
Matthias

Anzeige
AW: VBA - Diagramm erstellen via Recorder läuft nicht
09.09.2013 08:46:07
Beverly
Hi Matthias,
ich habe jetzt leider keine Zeite es zu testen, aber versuche es mal so: definiere eine Variable (z.B. intSpalte) und laufe von 1 bis 21 (um die Diagramme zu erstellen). Den Zellbezug für Z änderst du jeweils auf diese Weise:
Range("'Tabelle2'!" & Cells(37, intSpalte + 24).Address)
und den für AA auf diese
Range("'Tabelle2'!" & Cells(404, intSpalte + 25).Address)


Anzeige
AW: VBA - Diagramm erstellen via Recorder läuft nicht
09.09.2013 10:12:50
Matthias
Hi Karin,
danke für die schnelle Antwort. Also die Schleife funktioniert schonmal soweit, nur das ändern der Zellbezüge funktioniert nicht so wie gedacht. Es entstehen immer die gleichen 21 Diagramme.
An welche Stelle müssen die Zelländerung hin? Ich hatte es jetzt schon jeweils vor und nach den eigentlichen Zellbezügen versucht und da kam dann trotzdem immer das gleiche bei raus. Müssen die eigentlichen Zellbezüge etwa gelöscht werden, da so wie ich die Änderungen eingefügt habe, hats auch in meinen Augen nicht so Sinn gemacht, da die Alten Bezüge immer wieder verwendet werden ...
Sub DiaErstellen()
Dim rngWerte As Range
Dim rngXWerte As Range
Dim intSpalte As Integer
For intSpalte = 1 To 21
Set rngXWerte = Union(Range("'Tabelle2'!$N$372"), Range("'Tabelle2'!$N$339"), _
Range("'Tabelle2'!$N$305"), Range("'Tabelle2'!$N$272"), _
Range("'Tabelle2'!$N$238"), Range("'Tabelle2'!$N$204"), _
Range("'Tabelle2'!$N$171"), Range("'Tabelle2'!$N$137"), _
Range("'Tabelle2'!$N$104"), Range("'Tabelle2'!$N$70"), _
Range("'Tabelle2'!$N$38"), Range("'Tabelle2'!$N$4"))
With ActiveSheet.Shapes.AddChart
.Chart.ChartType = xlLine
With .Chart.SeriesCollection.NewSeries
.Name = "Gesamt"
Set rngWerte = Union(Range("'Tabelle2'!$Z$37"), Range("'Tabelle2'!$Z$69"), _
Range("'Tabelle2'!$Z$103"), Range("'Tabelle2'!$Z$136"), _
Range("'Tabelle2'!$Z$170"), Range("'Tabelle2'!$Z$203"), _
Range("'Tabelle2'!$Z$237"), Range("'Tabelle2'!$Z$271"), _
Range("'Tabelle2'!$Z$304"), Range("'Tabelle2'!$Z$338"), _
Range("'Tabelle2'!$Z$371"), Range("'Tabelle2'!$Z$405"))
.Values = rngWerte
.XValues = rngXWerte
Set rngWerte = Range("'Tabelle2'!" & Cells(37, intSpalte + 24).Address)
End With
With .Chart.SeriesCollection.NewSeries
.Name = "Umbuchung von"
Set rngWerte = Union(Range("'Tabelle2'!$Z$36"), Range("'Tabelle2'!$Z$68"), _
Range("'Tabelle2'!$Z$102"), Range("'Tabelle2'!$Z$135"), _
Range("'Tabelle2'!$Z$169"), Range("'Tabelle2'!$Z$202"), _
Range("'Tabelle2'!$Z$236"), Range("'Tabelle2'!$Z$270"), _
Range("'Tabelle2'!$Z$303"), Range("'Tabelle2'!$Z$337"), _
Range("'Tabelle2'!$Z$370"), Range("'Tabelle2'!$Z$404"))
.Values = rngWerte
Set rngWerte = Range("'Tabelle2'!" & Cells(37, intSpalte + 24).Address)
End With
With .Chart.SeriesCollection.NewSeries
.Name = "Umbuchung nach"
Set rngWerte = Union(Range("'Tabelle2'!AA$404"), Range("'Tabelle2'!AA$370"), _
Range("'Tabelle2'!AA$337"), Range("'Tabelle2'!$AA$303"), _
Range("'Tabelle2'!$AA$270"), Range("'Tabelle2'!$AA$236"), _
Range("'Tabelle2'!$AA$202"), Range("'Tabelle2'!AA$169"), _
Range("'Tabelle2'!$AA$135"), Range("'Tabelle2'!$AA$102"), _
Range("'Tabelle2'!$AA$68"), Range("'Tabelle2'!$AA$36"))
.Values = rngWerte
Set rngWerte = Range("'Tabelle2'!" & Cells(404, intSpalte + 25).Address)
End With
End With
Next intSpalte
Set rngXWerte = Nothing
Set rngWerte = Nothing
End Sub
so wie es in dem Code ist rufen sich ja denke ich immer wieder die eingegebenen Zellbezüge auf und deswegen sind immer die gleichen Diagramme zu sehen, aber ich weiss gerade auch gar nicht wie ich das sonst machen soll ...
Danke im voraus!
Gruß,
Matthias

Anzeige
AW: VBA - Diagramm erstellen via Recorder läuft nicht
09.09.2013 13:59:12
Matthias
Hi Karin,
nach bisschen rumbasteln und Grips anstrengen läuft es jetzt so wie es sollte, Dankeschön für die Hilfe !! Anbei der finale Code für die Forumgemeinschaft ;-)
Sub DiaErstellen()
Dim rngWerte As Range
Dim rngXWerte As Range
Dim intSpalte As Integer
For intSpalte = 1 To 21
Set rngXWerte = Union(Range("'Tabelle2'!$N$372"), Range("'Tabelle2'!$N$339"), _
Range("'Tabelle2'!$N$305"), Range("'Tabelle2'!$N$272"), _
Range("'Tabelle2'!$N$238"), Range("'Tabelle2'!$N$204"), _
Range("'Tabelle2'!$N$171"), Range("'Tabelle2'!$N$137"), _
Range("'Tabelle2'!$N$104"), Range("'Tabelle2'!$N$70"), _
Range("'Tabelle2'!$N$38"), Range("'Tabelle2'!$N$4"))
With ActiveSheet.Shapes.AddChart
.Chart.ChartType = xlLine
With .Chart.SeriesCollection.NewSeries
.Name = "Gesamt"
Set rngWerte = Union(Range("'Tabelle2'!" & Cells(37, intSpalte + (24 + intSpalte)). _
Address), Range("'Tabelle2'!" & Cells(69, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(103, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(136, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(170, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(203, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(237, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(271, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(304, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(338, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(371, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(405, intSpalte + (24 + intSpalte)).Address))
.Values = rngWerte
.XValues = rngXWerte
End With
With .Chart.SeriesCollection.NewSeries
.Name = "Umbuchung von"
Set rngWerte = Union(Range("'Tabelle2'!" & Cells(36, intSpalte + (24 + intSpalte)). _
Address), Range("'Tabelle2'!" & Cells(68, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(102, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(135, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(169, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(202, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(236, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(270, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(303, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(337, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(370, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(404, intSpalte + (24 + intSpalte)).Address))
.Values = rngWerte
End With
With .Chart.SeriesCollection.NewSeries
.Name = "Umbuchung nach"
Set rngWerte = Union(Range("'Tabelle2'!" & Cells(404, intSpalte + (25 + intSpalte)). _
Address), Range("'Tabelle2'!" & Cells(370, intSpalte + (25 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(337, intSpalte + (25 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(303, intSpalte + (25 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(270, intSpalte + (25 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(236, intSpalte + (25 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(202, intSpalte + (25 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(169, intSpalte + (25 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(135, intSpalte + (25 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(102, intSpalte + (25 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(68, intSpalte + (25 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(36, intSpalte + (25 + intSpalte)).Address))
.Values = rngWerte
End With
With .Chart.Legend
.Position = xlBottom
End With
With .Chart
.HasTitle = True
.ChartTitle.Caption = Sheets("Tabelle2").Range("'Tabelle2'!" & Cells(2, intSpalte + (24  _
+ intSpalte)).Address)
End With
End With
Next intSpalte
Set rngXWerte = Nothing
Set rngWerte = Nothing
End Sub
Gruß,
Matthias

Anzeige
AW: VBA - Diagramm erstellen via Recorder läuft nicht
09.09.2013 14:18:42
Matthias
Hi Karin,
nach bisschen rumbasteln und Grips anstrengen läuft es jetzt so wie es sollte, Dankeschön für die Hilfe !! Anbei der finale Code für die Forumgemeinschaft ;-)
Sub DiaErstellen()
Dim rngWerte As Range
Dim rngXWerte As Range
Dim intSpalte As Integer
For intSpalte = 1 To 21
Set rngXWerte = Union(Range("'Tabelle2'!$N$372"), Range("'Tabelle2'!$N$339"), _
Range("'Tabelle2'!$N$305"), Range("'Tabelle2'!$N$272"), _
Range("'Tabelle2'!$N$238"), Range("'Tabelle2'!$N$204"), _
Range("'Tabelle2'!$N$171"), Range("'Tabelle2'!$N$137"), _
Range("'Tabelle2'!$N$104"), Range("'Tabelle2'!$N$70"), _
Range("'Tabelle2'!$N$38"), Range("'Tabelle2'!$N$4"))
With ActiveSheet.Shapes.AddChart
.Chart.ChartType = xlLine
With .Chart.SeriesCollection.NewSeries
.Name = "Gesamt"
Set rngWerte = Union(Range("'Tabelle2'!" & Cells(37, intSpalte + (24 + intSpalte)). _
Address), Range("'Tabelle2'!" & Cells(69, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(103, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(136, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(170, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(203, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(237, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(271, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(304, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(338, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(371, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(405, intSpalte + (24 + intSpalte)).Address))
.Values = rngWerte
.XValues = rngXWerte
End With
With .Chart.SeriesCollection.NewSeries
.Name = "Umbuchung von"
Set rngWerte = Union(Range("'Tabelle2'!" & Cells(36, intSpalte + (24 + intSpalte)). _
Address), Range("'Tabelle2'!" & Cells(68, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(102, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(135, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(169, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(202, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(236, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(270, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(303, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(337, intSpalte + (24 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(370, intSpalte + (24 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(404, intSpalte + (24 + intSpalte)).Address))
.Values = rngWerte
End With
With .Chart.SeriesCollection.NewSeries
.Name = "Umbuchung nach"
Set rngWerte = Union(Range("'Tabelle2'!" & Cells(404, intSpalte + (25 + intSpalte)). _
Address), Range("'Tabelle2'!" & Cells(370, intSpalte + (25 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(337, intSpalte + (25 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(303, intSpalte + (25 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(270, intSpalte + (25 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(236, intSpalte + (25 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(202, intSpalte + (25 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(169, intSpalte + (25 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(135, intSpalte + (25 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(102, intSpalte + (25 + intSpalte)).Address), _
Range("'Tabelle2'!" & Cells(68, intSpalte + (25 + intSpalte)).Address), Range("' _
Tabelle2'!" & Cells(36, intSpalte + (25 + intSpalte)).Address))
.Values = rngWerte
End With
With .Chart.Legend
.Position = xlBottom
End With
With .Chart
.HasTitle = True
.ChartTitle.Caption = Sheets("Tabelle2").Range("'Tabelle2'!" & Cells(2, intSpalte + (24  _
+ intSpalte)).Address)
End With
End With
Next intSpalte
Set rngXWerte = Nothing
Set rngWerte = Nothing
End Sub
Gruß,
Matthias

Anzeige
AW: VBA - Diagramm erstellen via Recorder läuft nicht
10.09.2013 08:39:31
Luschi
Hallo Matthias,
natürlich funktioniert dieser Code, aber die Bildung des Rangebereiches 'rngWerte' per Union ist doch mehr als doppelt gemoppelt. Dazu mal ein Beispiel:
Range("'Tabelle2'!" & Cells(37, intSpalte + (24 + intSpalte)).Address)
Cells() ist bereits eine Zelle (also vom Type Range), daraus wird per .Address ein String. Dieser wird mit einem weiteren String verknüpft und dann wieder in eine Range-Bereich transformiert.
Das geht auch so:

Set rngWerte = Union(Tabelle2.Cells(37, intSpalte + (24 + intSpalte)), _
Tabelle2.Cells(69, intSpalte + (24 + intSpalte)), _
Tabelle2.Cells(103, intSpalte + (24 + intSpalte)), _
Tabelle2.Cells(136, intSpalte + (24 + intSpalte)), _
Tabelle2.Cells(170, intSpalte + (24 + intSpalte)), _
Tabelle2.Cells(203, intSpalte + (24 + intSpalte)), _
Tabelle2.Cells(237, intSpalte + (24 + intSpalte)), _
Tabelle2.Cells(271, intSpalte + (24 + intSpalte)), _
Tabelle2.Cells(304, intSpalte + (24 + intSpalte)), _
Tabelle2.Cells(338, intSpalte + (24 + intSpalte)), _
Tabelle2.Cells(371, intSpalte + (24 + intSpalte)), _
Tabelle2.Cells(405, intSpalte + (24 + intSpalte)))
Gruß von Luschi
aus klein-Paris
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige