Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1476to1480
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: Unterschiedliche Zellen markieren

VBA: Unterschiedliche Zellen markieren
05.03.2016 09:59:10
Hermann
Hallo zusammen,
ich möchte immer in der aktiven Tabelle in einer Spalte 5 Zellen nacheinander markieren.(Block)Die Startzelle ist die Zeilennummer 18, die Spalte in der die Markierung erfolgen soll ist immer "Q", also Spalte 17.
Nach 24 Zeilen sollen in der gleichen Spalte wieder die nachfolgenden 5 Zellen markiert werden.
Die Markierung der Zellen benötige ich für eine bedingte Formatierung. Weil die Tabellen 2000 - 3000 Zeilen hat und ich diese Markierung öfter brauche, möchte ich dies mit einem Makro ausführen.
Mein Lösungsansatz funktioniert ganz gut, aber ich müsste die Bereiche manuell festlegen und _
die 24 Zeilen dazuzählen.

Sub Bereich_markieren()
Dim z As Integer
Dim Bereich1 As Range
Dim Bereich2 As Range
Dim Gesamtbereich As Range
Set Bereich1 = Cells(18, 17).Resize(5, 1)
Set Bereich2 = Cells(42, 17).Resize(5, 1)
Set Bereich3 = Cells(66, 17).Resize(5, 1)
Set Bereich4 = Cells(90, 17).Resize(5, 1)
Set Bereich5 = Cells(114, 17).Resize(5, 1)
Set Bereich6 = Cells(138, 17).Resize(5, 1)
Set Gesamtbereich = Union(Bereich1, Bereich2, Bereich3, Bereich4, Bereich5,
Bereich6)
Gesamtbereich.Select
End Sub

Ich dachte an eine Lösung mit einer Schleife Step 24.
Das bekomme ich leider nicht hin. Vielleicht kann mir jemand helfen.
Vielen Dank

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: Unterschiedliche Zellen markieren
05.03.2016 10:15:40
hary
Moin
Dim z As Long
Dim Bereich1 As Range
For z = 18 To Cells(1, 17).End(xlUp).Row Step 24
If Bereich1 Is Nothing Then
Set Bereich1 = Cells(z, 17).Resize(5, 1)
Else
Set Bereich1 = Union(Bereich1, Cells(z, 17).Resize(5, 1))
End If
Next
If Not Bereich1 Is Nothing Then
Bereich1.Select
End If
End Sub

Select ist aber meist ueberfluessig.
gruss hary

AW: VBA: Unterschiedliche Zellen markieren
05.03.2016 10:57:45
Hermann
Hallo Hary,
vielen Dank für Deine Hilfe. Leider funktioniert der Code nicht.
Beim Ausführen wird keine einzige Zelle markiert.
vielleicht kannst Du es ja selbst nochmal probieren.
VG

Anzeige
AW: VBA: Unterschiedliche Zellen markieren
05.03.2016 11:05:56
Hermann
Hallo Hary,
wenn ich bei Deinem Code "Cells(1, 17).End(xlUp).Row " durch eine Zahl z.B. 2000 ersetze,
funktioniert es so wie ich es wollte.
Mit dieser kleinen manuellen Eingabe kann ich leben.
Der Arbeitsaufwand im Gegensatz zu vorher wurde um 99% vermindert.
Vielen Dank für Deine schnelle Hilfe.

AW:Sry,Fluechtigkeitsfehler
05.03.2016 11:08:03
hary
Moin
War ein Fluechtigkeitsfehler drin.
Dim z As Long
Dim Bereich1 As Range
For z = 18 To Cells(Rows.Count, 17).End(xlUp).Row Step 24 '--bis letzte in SpalteQ
If Bereich1 Is Nothing Then
Set Bereich1 = Cells(z, 17).Resize(5, 1)
Else
Set Bereich1 = Union(Bereich1, Cells(z, 17).Resize(5, 1))
End If
Next
If Not Bereich1 Is Nothing Then
Bereich1.Select
End If
End Sub

gruss hary

Anzeige
AW: AW:Sry,Fluechtigkeitsfehler
05.03.2016 11:19:27
Hermann
Hallo Hary,
jetzt funktioniert es perfekt.
Nochmals vielen Dank.
VG

AW: AW:Sry,Fluechtigkeitsfehler
05.03.2016 11:25:24
Hermann
Hallo Hary,
jetzt funktioniert es perfekt.
Nochmals vielen Dank.
VG

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige