Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
308to312
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
308to312
308to312
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Für Spezialisten

Für Spezialisten
18.09.2003 11:15:11
Stefan
mit hilfe dieses makros gruppiere ich alle zellen die nachfolgend in der spalte a den wert 1 haben.
wenn jetzt a1 bis a10 alles 1er sind werden diese markiert und gruppiert.
und jetzt kommt das problem! wie kann ich nun das makro an der stelle weitermachen lassen an der es aufgehört hat? in meinem fall fängt es wieder bei A1 an

danke für die hilfe


Sub ZeilenMarkierenUndGruppieren()
Dim rng As Range
Dim iRow As Integer, iRowL As Integer
iRowL = Cells.Find(what:="1", after:=Range("A1"), _
searchorder:=xlByRows, searchdirection:=xlPrevious).Row
For iRow = 1 To iRowL
If WorksheetFunction.CountA(Rows(iRow)) > 0 Then
If rng Is Nothing Then
Set rng = Rows(iRow)
Else
Set rng = Union(rng, Rows(iRow))
End If
End If
Next iRow
rng.Select
Selection.Rows.Group
iRowL = Cells.Find(what:="2", after:=Range("A1"), _
searchorder:=xlByRows, searchdirection:=xlPrevious).Row
For iRow = 1 To iRowL
If WorksheetFunction.CountA(Rows(iRow)) > 0 Then
If rng Is Nothing Then
Set rng = Rows(iRow)
Else
Set rng = Union(rng, Rows(iRow))
End If
End If
Next iRow
rng.Select
Selection.Rows.Group
End Sub

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Für Spezialisten
18.09.2003 13:15:48
Beni
Hallo Stefan,
ich habe mal was probiert, aber es funktioniert nur, wenn zwischen den verschiedenen Werten eine Lücke ist und die Ranges mit rng1/rng2 bezeichnet werden, weil sonst wird der erste Bereich mitselektioniert.
Gruss Beni


Sub ZeilenMarkierenUndGruppieren()
Dim rng1 As Range
Dim rng2 As Range
Dim iRow As Integer, iRowL As Integer, nP As Integer
iRowL = Cells.Find(what:="1", after:=Range("A1"), _
searchorder:=xlByRows, searchdirection:=xlPrevious).Row
For iRow = 1 To iRowL
If WorksheetFunction.CountA(Rows(iRow)) > 0 Then
If rng1 Is Nothing Then
Set rng1 = Rows(iRow)
Else
Set rng1 = Union(rng1, Rows(iRow))
End If
End If
Next iRow
rng1.Select
Selection.Rows.Group
nP = iRowL + 2 'neu Position
iRowL = Cells.Find(what:="2", after:=Range("A" & nP), _
searchorder:=xlByRows, searchdirection:=xlPrevious).Row
For iRow = nP To iRowL 'ab neu Position
If WorksheetFunction.CountA(Rows(iRow)) > 0 Then
If rng2 Is Nothing Then
Set rng2 = Rows(iRow)
Else
Set rng2 = Union(rng2, Rows(iRow))
End If
End If
Next iRow
rng2.Select
Selection.Rows.Group
End Sub

Anzeige
AW: Für Spezialisten
18.09.2003 13:30:06
Stefan
ist ja echt super,
kannst du mir vielleicht noch sagen wie ich das makro barbeiten muß wenn die werte
von 1 bis 10 sind? Also
Cells.Find(what:="1",
Cells.Find(what:="2",
Cells.Find(what:="3",
Cells.Find(what:="4",
Cells.Find(what:="5",
Cells.Find(what:="6",
Cells.Find(what:="7",
Cells.Find(what:="8",
Cells.Find(what:="9",
Cells.Find(what:="10",

dank dir

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige