Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1608to1612
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

String in Union-Argument

String in Union-Argument
15.02.2018 12:09:21
Hannes
Hallo zusammen,
nach langer Abwesenheitszeit habe ich mal wieder eine Frage:
Ich erstelle mit Hilfe eines Codes einen String den ich hinterher als Argument für den Befehl Union nutzen möchte um damit wiederum einen Datenbereich für die X- und Y-Achse eines Diagramms zu definieren.
Hier der Code um den String zu erzeugen (kann man sicher auch noch vereinfachen)
For k = 1 To anz_monate
teil = 4 * k - 1
Text = "Range(Cells(" & i & "," & teil + h & "), Cells(" & i & "," & teil + h & "))"
arr(k) = Text
Next k
For k = 1 To anz_monate
string_mitte_neu = arr(k)
If k > 1 Then
string_mitte_alt = string_mitte_alt & "," & string_mitte_neu
Else
string_mitte_alt = string_mitte_neu
End If
Next k
Anschließend würde ich gerne diesen String wie folgt verwenden:
Set umfang_daten_soll = Union(string_komplett)
ActiveChart.FullSeriesCollection(2).Values = umfang_daten_soll
Leider kommt jedoch die Fehlermeldung, dass beim Union Befehl, dass das Argument nicht optional ist.
Kann mir bitte jemand weiterhelfen?
Vielen Dank schon mal im Voraus.
Gruß
Hannes

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: String in Union-Argument
15.02.2018 12:39:59
Rudi
Hallo,
Union erfordert Bereiche.
wie ich das sehe:
For k = 1 To anz_monate
If myRange Is Nothing Then
Set myRange = Range(Cells(i, 4 * k - 1 + h), Cells(i, 4 * k - 1 + h))
Else
Set myRange = Union(myRange, Range(Cells(i, 4 * k - 1 + h), Cells(i, 4 * k - 1 + h)))
End If
Next k
ActiveChart.FullSeriesCollection(2).Values = myRange

Gruß
Rudi
AW: String in Union-Argument
15.02.2018 14:53:16
Hannes
Hallo Rudi,
besten Dank für den Input.
Wenn ich zur Zeile
If myRange Is Nothing Then

komme, dann bekomme ich die Fehlermeldung:
Laufzeitfehler 424: Objekt erforderlich.
Was mache ich hier falsch?
Danke im voraus.
Gruß
Hannes
Anzeige
AW: String in Union-Argument
15.02.2018 15:52:30
Rudi
Hallo,
hast du myRange als Range deklariert?
Gruß
Rudi
AW: String in Union-Argument
15.02.2018 16:00:47
Hannes
Hallo Rudi,
danke für den Hinweis. Habe ich. Es ändert sich aber leider nix.
Gruß
Hannes
AW: String in Union-Argument
15.02.2018 16:13:03
Hannes
UUUPs, doch noch nicht geklärt.
AW: String in Union-Argument
16.02.2018 11:59:35
Rudi
das funktioniert:
Sub aaaa()
Dim k As Integer, i As Integer, h As Integer, Anz_Monate As Integer
Dim MyRange As Range
i = 5
h = 5
Anz_Monate = 8
For k = 1 To Anz_Monate
If MyRange Is Nothing Then
Set MyRange = Range(Cells(i, 4 * k - 1 + h), Cells(i, 4 * k - 1 + h))
Else
Set MyRange = Union(MyRange, Range(Cells(i, 4 * k - 1 + h), Cells(i, 4 * k - 1 + h)))
End If
Next k
MsgBox MyRange.Address
End Sub

Anzeige
AW: String in Union-Argument
16.02.2018 13:43:45
Hannes
Hallo Rudi,
vielen Dank für den Code. Der funzt echt gut.
Ich würde gerne nach dem ersten Schleifendurchlauf das Array löschen / leeren.
Wenn ich mit
MyRange.Clear

arbeite, dann wird es aber nicht gelöscht und wenn ich weitere Ranges reinschreibe und dann übertragen will, habe ich einen Wust an Daten.
Wie kann ich das Array sicher löschen?
Schon mal vielen Dank für die Unterstützung.
Gruß
Hannes
AW: String in Union-Argument
16.02.2018 14:01:47
Rudi
hallo,
das ist ja kein Array sondern ein Range-Objekt.
Mit MyRange.Clear löschst du alle Inhalte und Formate aus dem Bereich. Man sollte schon wissen, was man macht.
Zurücksetzen mit
Set MyRange = Nothing
Gruß
Rudi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige