online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Oli00 vom 26.02.2019, 15:13 Options

VBA: Range mit vielen Zellen

Hallo,

ich habe das Problem, dass ich gerne Zellen nach einem bestimmten Kriterium auswählen möchte. Das klappt auch soweit ich schreibe alle Zellen in einen String und lege diesen String dann in das Range.

Sub test()

Dim Zelle As Range
Dim Suchbereich As Range
Dim Farbe As Variant
Dim ClrSel As String
Dim arr As Variant


Farbe = Range("a2").Interior.ColorIndex
Set Suchbereich = ActiveSheet.UsedRange

For Each Zelle In Suchbereich

If Zelle.Interior.ColorIndex = Farbe Then
ClrSel = ClrSel + "," + Zelle.Address
End If

Next

If Left(ClrSel, 1) = "," Then ClrSel = Mid(ClrSel, 2, Len(ClrSel) - 1)

Range(ClrSel).Select

End Sub

Das Problem ergibt sich meiner Meinung nach, wenn ich zuviele Zellen in dem String habe. Hier tritt der Fehler auf:

Laufzeitfehler 1004

Die Methode Range für das Objekt _Global ist fehlgeschlagen.

Hat man das lösen kann?

Grüße

Oli


Antwort schreiben

Antwort 1 von rainberg vom 26.02.2019, 17:07 Options

Hallo Oli,

ungetestet würde ich sagen, ersetze folgende Zeile

ClrSel = ClrSel + "," + Zelle.Address

durch diese

ClrSel = ClrSel & "," & Zelle.Address

den Textwerte kann man nicht addieren, sondern nur verketten.

Gruß
Rainer

Antwort 2 von Oli00 vom 26.02.2019, 17:11 Options

Hi Rainer,

bitte mal testen. Der Code funktioniert einwandfrei mit z.B. 10 Zellen. Wenn du allerdings das Ganze mit 300 Zellen machst wird der String zu lang und Range bringt das geschilderte Problem.

Hat leider sicher nichts mit Addition oder Verkettung zu tun.

Grüße

Oli

Antwort 3 von Oli00 vom 26.02.2019, 18:11 Options

Hi,

genau das dachte ich mir auch. Hatte es zwar nicht selbst ausprobiert wieviele Zeichen es sind, aber es war klar das der Hase hier im Feld begraben liegt.

Viele Grüße

Oli

Antwort 4 von rainberg vom 26.02.2019, 18:45 Options

Hallo Oli,

ich habe den Code weder genauer analysiert noch getestet und habe auch nicht die Absicht dies zu tun, da ich keine Zeit habe eine entsprechende Tabelle nach zu bauen.

Mir fiel lediglich auf, dass die Textverkettung zumindest in meinen Augen mit den falschen Operatoren geschehen ist.

Wenn dies trotzdem läuft, dann ist es ja gut nur habe ich es auf diese Art noch nicht praktiziert.

Gruß
Rainer

Antwort 5 von Oli00 vom 26.02.2019, 18:49 Options

Sorry, wenn es wie ein Angriff rüber kam! Sollte es beim besten Willen nicht sein!

Danke auf jeden Fall für den Beitrag.

Grüße

Oli

PS: Die Tabelle kann man nachbauen indem man ein leeres Blatt nimmt und die erste Spalte rot einfärbt.

Antwort 6 von nighty vom 26.02.2019, 20:00 Options

hi olli :-)

lege die daten in ein array

hier ein kleines beispiel der array darstellung

was zwar kein bezug zu deinem problem hat aber eben zum ueben bzw verstaendnis dient

Sub LesenSchreiben()
Dim ExceL()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Set ws1 = Tabelle1
Set ws2 = Tabelle2
ExceL = ws1.Range("A1:B5")
ws2.Range("A1:B5") = ExceL()
End Sub

gruss nighty

Antwort 7 von Oli00 vom 15.03.2019, 10:00 Options

Hi,

danke für die Antowort. Ich habe mal versucht das ganze umzusetzen, habs aber leider nicht hinbekommen. Wenn du nochmal Zeit hast kannst du ja mal sagen wie du dir das ganze gedacht hattest.

Viele Grüße

Oli

Antwort 8 von nighty vom 15.03.2019, 21:37 Options

hi olli :-)

schick mir eine mustertabelle mit ausführlichen wünschen und eindeutigen betreff bei der email

oberley@t-online.de

gruss nighty

Ähnliche Themen

wieder Makro Code
achmi71  14.01.2007 - 135 Hits - 9 Antworten

bereich v. zellen in 1 leere zelle/zeile kopieren
dagra  19.03.2007 - 65 Hits -

Werte kopieren in verbundene Zellen
annika231  13.08.2007 - 16 Hits - 3 Antworten

Excel VBA: Zellinhalt kopieren & in markierte Zellen einfügen
inspiron8100  03.02.2008 - 488 Hits - 3 Antworten

VBA-Problem
seebaer_1  25.02.2008 - 54 Hits - 5 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 07:32:25 2026