Bestimmte Zellen einer Zeile (wird per Variable festgelegt) markieren

13/08/2008 - 11:33 von Walter Heying | Report spam
Hallo,

ich habe derzeit folgendes Problem: Ich muss bestimmte Zellen einer
Zeile markieren. Die Zeile wird per Inputbox abgefragt. Die zu
markierenden Zellen liegen nicht direkt zusammen es liegen 1, 2 oder
mehrere Zellen dazwischen.
Ich habe mich im Forum ein wenig umsehen und habe die Makroanweisung:
Intersect(ActiveSheet.UsedRange, Rows("8:8"),
Columns("C:DF").SpecialCells(xlCellTypeVisible)).Select
von Melanie Breden gefunden.
Damit werden alle eingeblendeten Zellen markiert. In diesem Beispiel
die Zellen der Zeile 8 und der Spalten C bis DF.
Die Anweisung ist schon die richtige, bis auf die Zeile. Die Zeile
muss noch variabel werden. Wie kann ich das umsetzen. ODER Wie könnte
die Anweisung lauten ohne eine Gleiderung arbeiten zu müssen?
Der Makrorekorder hat folgendes aufgezeichnet:
Union(Range( _

"BR8,BT8,BV8,BX8,BZ8,CB8,CD8,CF8,CH8,CJ8,CL8,CN8,CP8,CR8,CZ8,DB8,DD8,DF8,C8,F8,H8,K8,M8,O8,Q8,S8,U8,W8,Y8,AA8,AC8,AF8"
_
),
Range("AH8,AJ8,AL8,AN8,AP8,AR8,AT8,AV8,AX8,AZ8,BB8,BD8,BF8,BH8,BJ8,BL8,BN8,BP8")).Select
Hierbei ist aber die Zeile vorgegeben! Könnte man diese modifizieren?

Gruß
Walter
 

Lesen sie die antworten

#1 Martin Worm
13/08/2008 - 12:31 | Warnen spam
Am Wed, 13 Aug 2008 02:33:58 -0700 (PDT),schrieb Walter Heying:

hallo,

Der Makrorekorder hat folgendes aufgezeichnet:
Union(Range( _

"BR8,BT8,BV8,BX8,BZ8,CB8,CD8,CF8,CH8,CJ8,CL8,CN8,CP8,CR8,CZ8,DB8,DD8,DF8,C8,F8,H8,K8,M8,O8,Q8,S8,U8,W8,Y8,AA8,AC8,AF8"
_
),
Range("AH8,AJ8,AL8,AN8,AP8,AR8,AT8,AV8,AX8,AZ8,BB8,BD8,BF8,BH8,BJ8,BL8,BN8,BP8")).Select
Hierbei ist aber die Zeile vorgegeben! Könnte man diese modifizieren?



du könntest mit der Funktion Replace die 8 durch die von dir
gewünschte Zahl ersetzen.
Sieht so aus: Replace("BR8", "8", "23")

Eine mögliche Lösung wàre etwa so

Sub Markieren()
Dim Zeile As String
Zeile = InputBox("Zeile eingeben", "Markierung", "?")
If Zeile = "" Then Exit Sub 'Abbruch
If Zeile = "?" Then Exit Sub ' Ok ohne Eingabe

Union(Range(Replace( _
"BR8,BT8,BV8,BX8,BZ8,CB8,CD8,CF8,CH8,CJ8,CL8,CN8," & _
"CP8,CR8,CZ8,DB8,DD8,DF8,C8,F8,H8,K8,M8,O8,Q8,S8," & _
"U8,W8,Y8,AA8,AC8,AF8", "8", Zeile)), Range(Replace( _
"AH8,AJ8,AL8,AN8,AP8,AR8,AT8,AV8,AX8,AZ8,BB8,BD8," & _
"BF8,BH8,BJ8,BL8,BN8,BP8", "8", Zeile))).Select

End Sub


hth
mit freundlichen Grüßen

Martin Worm
benutze XL 2000 und Win XP SpX

Ähnliche fragen