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

Gruppierung per Makro

Gruppierung per Makro
26.02.2008 17:47:00
Frank
N'abend.
Ich komme gerade nicht weiter. Ich habe ein Makro zur Gruppierung. Es soll im Zeilenbereich 8-78 alle Zeilen gruppieren, die im Spaltenbereich B-FM 0-Werte anzeigen.
Das (vermeindliche) Problem ist nun, dass die Werte in den betroffenen Zellen zum einen aus einer Datenbank kommen und zum anderen aus Formeln innerhalb der Tabelle. Bisher funktionierte es super - aber ich denke mal, da es nicht immer "wirkliche" Zahlen sind in den Zellen kommt nun dieses "Problem". Zum Teil wir in den Formeln auch mit einem Wenn(istfehler... gearbeitet um die Div/o zu unterdrücken.
Für eure Hilfe bin ich euch dankbar. Schönen Feierabend allen!
Frank

Sub Gruppieren()
Dim Zeile As Long, ws As Worksheet
Set ws = ActiveSheet
On Error Resume Next
With ws
.Range(.Rows(8), Rows(78)).Ungroup
For Zeile = 8 To 78
If Application.WorksheetFunction.CountIf(.Range(.Cells(Zeile, 2), _
.Cells(Zeile, 169)), 0) = 168 Then
.Rows(Zeile).Group
End If
Next
End With
End Sub


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

Betreff
Datum
Anwender
Anzeige
AW: Gruppierung per Makro
28.02.2008 12:07:00
fcs
Hallo Frank,
da sehe ich im Moment 2 Möglichkeiten.
1. Verwendung der Funktion SUMME
Diese Variante funktioniert aber nur wenn in den Zellen außer "" keine anderen Textwerte stehen, sondern 0 oder andere Zahlen.
2. Einzelprüfung der Zellinhalte, wobei dann auch noch die zu prüfenden Spalten festgelegt werden können.
Gruß
Franz

'Funktioniert bei "" und 0 in den Zellen, _
funktioniert nicht wenn die Zellen sonstige Texte enthalten können.
Sub gruppieren()
Dim Zeile As Long, ws As Worksheet
Set ws = ActiveSheet
On Error Resume Next
With ws
.Range(.Rows(8), Rows(78)).Ungroup
For Zeile = 8 To 78
If Application.WorksheetFunction.Sum(.Range(.Cells(Zeile, 2), _
.Cells(Zeile, 169))) = 0 Then
.Rows(Zeile).Group
End If
Next
End With
End Sub
'Einzelprüfung der Zellinhalte
Sub Gruppieren2()
Dim Zeile As Long, ws As Worksheet, Spalte As Long, gruppieren As Boolean
Set ws = ActiveSheet
On Error Resume Next
With ws
.Range(.Rows(8), Rows(78)).Ungroup
For Zeile = 8 To 78
gruppieren = True
For Spalte = 2 To 169
'Bei Prüfung zu berücksichtigende Spalten
Select Case Spalte
Case 2 To 20, 22, 24, 30 To 80, 100 To 169 '### anpassen
Select Case .Cells(Zeile, Spalte).Value
Case "", 0, "0" 'Werte bei denen gruppiert werden soll 'ggf. anpassen
'do nothing
Case Else
gruppieren = False
Exit For
End Select
Case Else
'do nothing
End Select
Next
If gruppieren = True Then
.Rows(Zeile).Group
End If
Next
End With
End Sub


Anzeige
AW: Gruppierung per Makro
28.02.2008 15:47:00
Frank
Super - vielen Dank. Das Erste hat mir bereits perfekt geholfen! LG Frank

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige