2.1k Aufrufe
Gefragt in Tabellenkalkulation von jeremy Mitglied (677 Punkte)
Hallo,

ich habe noch nie etwas mit Makroschreiben zu tun gehabt.
In einem mir vorliegenden und funktionierenden Makro ist folgende Zeile integriert:

Set RaBereich = Range("E16:E65536")

Den Bereich "E16:E65536" würde ich gerne um den Bereich
"BL16:BL65536" erweitern.

Wie müsste die obere Zeile dann aussehen???


Vielen Dank für Eure Hilfe


Jeremy

10 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Set RaBereich = Range("E16:E65536, "BL16:BL65536")


Gruß Hajo
0 Punkte
Beantwortet von jeremy Mitglied (677 Punkte)
Er macht es leider nicht und zeigt mir einen Fehler an...



' Vorgabe
' 1. 0 %
' 2. 1-25 %
' 3. 26-50 %
' 4. 51-75 %
' 5. 76-99 %
' 6. 100 %
' Bereicch>0 und <1; >25 <26; >50<51; >75 <76; >99<100 werden nicht formatiert
Dim RaBereich As Range, RaZelle As Range
' Bereich der Wirksamkeit
Set RaBereich = Range("E16:E65536, "BL16:BL65536")
Set RaBereich = Intersect(RaBereich, Range(Target.Address))
If Not RaBereich Is Nothing Then
For Each RaZelle In RaBereich
With RaZelle
Select Case .Value
Case 0
.Interior.ColorIndex = 0
Case 0.01 To 0.1
.Interior.ColorIndex = 3
Case 0.11 To 0.25
.Interior.ColorIndex = 46
Case 0.26 To 0.5
.Interior.ColorIndex = 44
Case 0.51 To 0.75
.Interior.ColorIndex = 27
Case 0.76 To 0.99
.Interior.ColorIndex = 43
Case 1
.Interior.ColorIndex = 4
End Select
End With
Next RaZelle
End If
Set RaBereich = Nothing
End Sub
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

da der Rest des makros und seines Ablaufs nicht bekannt ist, ist es etwas schwierig.

Vom grundsatz her wäre

Set RaBereich = Range("E16:E65536")

durch

Set RaBereich = Range("BL16:BL65536") zu ersetzen

aber dann funktioniert nur der BL-Bereich.

Du musst schon etwas mehr des Makros liefern, sonst gibt es nur Schrott

Gruß

Helmut
0 Punkte
Beantwortet von jeremy Mitglied (677 Punkte)
das ist übrigens ein "Original Makro von Hajo" :-)

immer die gleichen Helferlein :-)))



Jeremy
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

versuch es mal so

Set RaBereich = Range("E16:E65536", "BL16:BL65536")

in der Formel von @ Hajo_Zi fehlt aus meiner Sicht ein Hochkomma

Gruß

Helmut
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Helmut,

da fehl kein "

Hallo Jeremy,

warum Range
Set RaBereich = Intersect(RaBereich, Range(Target.Address)
Target ist schon ein Range
Du hättest auch im Originla Code schauen können wegen der ersten frage.

Gruß Hajo
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo @Hajo_Zi ,

das ist für mich nicht logisch

Set RaBereich = Range("E16:E65536, "BL16:BL65536")
(deine Formel)

es fehlt hinter "E16:E65536 das Hochkomma (richtiger Anführungszeichen) bei deiner Formel.

Gruß

Helmut
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Helmut,

es ist ein zu viel das in der Mitte.

Hallo Jeremy,

Das mit dem Range war ein Fehler steht im Original so.
Ich baue kein Datei nach.
Wo ist der Fehler?

Gruß Hajo
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo @Hajo_Zi ,

da ich mit den Makrobereichen weniger arbeite, kann das auch richtig sein. Auf jeden Fall war die ursprüngliche Formel, mit 3 Anführungszeichen, so nicht ok.

Trotzdem ein schönes Wochenende
Gruß


Helmut
0 Punkte
Beantwortet von jeremy Mitglied (677 Punkte)
Hallo Leute,

ich habe die Formel:

Set RaBereich = Range("E16:E65536", "BL16:BL65536")

genommen und es funktioniert einwandfrei.
Helmut und Hajo, vielen Dank für Eure Unterstützung !!!

Grüße aus dem viel zu heißen Rio de Janeiro,


Jeremy
...