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

Bestimmte Zeilen mit Loop Gruppieren

Bestimmte Zeilen mit Loop Gruppieren
Chrizzi
Hallo Excel-Spezialisten,
ich bitte um einen Ratschlag für die unten angefügte und funktionierende Syntax, die leider eine genauere Abbruchbedingung benötigt. Bisher durchläuft sie sämtliche Zeilen, d.h. maximal bis Zeile 65000(?). Besser wäre es aber, wenn sie nur die "benutzten Zeilen" auf die Gruppierungskriterien hin überprüft. Hat jemand Rat? Vielen Dank um voraus für jeden Tip!! Grüsse Chrizzi

Sub ZeilenGruppieren()
Dim s As String
Dim e As String
Dim n As Integer
n = ActiveSheet.UsedRange.Rows.Count
Range("A:A").Select
Selection.Find(What:="*1. Erlöse aus Pflegesatz").Select
Do Until ActiveCell.Value = ""  <---- muss hier was mit n passieren?
ActiveCell.Offset(1, 0).Select
s = ActiveCell.Address
Do Until ActiveCell.Value = "" And ActiveCell.Interior.ColorIndex = 55
ActiveCell.Offset(1, 0).Select
Loop                           <---- oder muss hier was mit n passieren?
e = ActiveCell.Offset(-1, 0).Address
Range(s, e).Rows.Group
Range(e).Offset(1, 0).Select
Loop
End Sub

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

Betreff
Benutzer
Anzeige
AW: Bestimmte Zeilen mit Loop Gruppieren
15.02.2006 13:32:06
Luc:-?
Hallo Chrizzi,
dir ist klar, dass n bisher nicht benutzt wird und die Schleifen solange durchlaufen wdn until(=bis) die aktuell ausgewählte Zelle leer ist und mit Farbe lt Index55 gefüllt ist (innere Schleife)?! Wenn dann die Folgezeilenzelle ebenfalls leer ist, wird auch die äußere Schleife verlassen. Das Ganze sollte eigentlich mit den Zeilen des UsedRange korrespondieren!? Anderenfalls könnte die äußere Schleife auch als For laufvariable To n ... Next laufvariable -Schleife geschrieben wdn oder ein Zeilenzähler läuft in der äußeren Schleife mit und wird in der Bedingung abgefragt. Außerdem gäbe es noch eine Möglichkeit ohne n:
For Each z in ActiveSheet.UsedRange.Cells(1,1)
Dabei muss z als Range deklariert und in der äußeren Schleife anstelle von ActiveCell benutzt wdn. Gruß Luc :-?
Anzeige
AW: Bestimmte Zeilen mit Loop Gruppieren
Chrizzi
Hi Luc,
wenn auch verspätet bedanke ich mich für Deine Unterstützung. Meine Lösung für die o.g. Aufgabenstellung habe ich prinzipiell anders gelöst; konnte Deinen Tipp jedoch aufgreifen. Das ganze sieht nun so aus, die ausführende Aktion bezieht sich dabei auf das Summieren - ist aber für das Gruppieren genauso anwendbar:

Sub ZeilenSummieren()
Application.Screenupdating = False
Dim s As Variant
Dim e As Variant
Dim iMax As Integer
Dim jMax As Integer
iMax = ActiveSheet.UsedRange.Rows.Count - 6
jMax = ActiveSheet.UsedRange.Columns.Count
For j = 3 To jMax
If j = jMax Then
'Call ErrorLog
For i = 15 To iMax
s = Cells(i, j).Address
Do Until Cells(i, j).Interior.ColorIndex = 17 Or Cells(i, j).Interior.ColorIndex = 55
i = i + 1
Loop
e = Cells(i - 1, 3).Address
Cells(i, j).Formula = "=Sum(" & s & ":" & e & ")"
Next i
Next j
'Call ErrorLog()
'Dies wir die Korrekturschleife, da Zirkelbezüge infolge von 2 und 3
'aufeinanderfolgenden grauen Zellen vorkommen
'Dazu benötige ich die Summen aus den Variablen der anderen Syntax
Application.Screenupdating = True
End Sub

Sobald ich das Problem der Gruppierung in eine Syntax gegossen habe, schicke ich Dir die funktionierende Syntax zu. Momentan ist das für mich nicht so dringend. Entschuldige bitte die verspätete Antwort. Viele Grüsse und nochmals vielen Dank.
Chrizzi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige