Excel 2007 Gruppierungen Makro
Liebe Community Mitglieder,
folgendes Problem habe ich bei Excel 2007:
Ich habe eine Datei, in der ich zentral Personal verwalte. Auf dem ersten Arbeitsblatt werden alle Mitarbeiter einer Abteilung eingetragen, die u.a. mit Eintritts- und Austrittsdatum versehen werden. In den folgenden 12 Arbeitsblättern sind jeweils die Mitarbeiter der Monate Januar bis Dezember aufgelistet, die sich aus den Stammdaten des ersten Arbeitsblatt ergeben. Die Auflistung der Mitarbeiter in den 12 Monats-Arbeitsblättern sind also verlinkt mit dem ersten Blatt. In den 12 Blättern werden von Führungskräften u.a. Produktivität etc. eingetragen.
Auf dem ersten Blatt sind also alle 100 Mitarbeiter aufgeführt, danach habe ich dreißig weitere Zeilen freigelassen, damit man etwaige neue Mitarbeiter mit ihren Daten anlegen kann. Diese 30 Zeilen sind gruppiert. Auf den übrigen 12 Blättern sind ebenfalls die dreißig Zeilen gruppiert, damit die Führungskräfte diese Zeilen nicht sehen und es übersichtlicher ist.
Wenn ich nun im ersten Blatt einen neuen Mitarbeiter anlege, muss ich diese Zeile aus der Gruppierung lösen. Selbiges muss ich bei den anderen 12 Blättern auch machen.
Kann man ein Makro programmieren, in dem die Gruppierung in Abhängigkeit vom Zellinhalt möglich ist. --> Bspw. ist das Feld Nachname gefüllt, dann löse die Zeile aus der Gruppierung?
Ich habe in keinen Forum eine derartige Fragestellung gefunden und bin gespannt, ob jemand eine Antwort weiß Vielen Dank im Voraus!!!
MfG
Fb
folgendes Problem habe ich bei Excel 2007:
Ich habe eine Datei, in der ich zentral Personal verwalte. Auf dem ersten Arbeitsblatt werden alle Mitarbeiter einer Abteilung eingetragen, die u.a. mit Eintritts- und Austrittsdatum versehen werden. In den folgenden 12 Arbeitsblättern sind jeweils die Mitarbeiter der Monate Januar bis Dezember aufgelistet, die sich aus den Stammdaten des ersten Arbeitsblatt ergeben. Die Auflistung der Mitarbeiter in den 12 Monats-Arbeitsblättern sind also verlinkt mit dem ersten Blatt. In den 12 Blättern werden von Führungskräften u.a. Produktivität etc. eingetragen.
Auf dem ersten Blatt sind also alle 100 Mitarbeiter aufgeführt, danach habe ich dreißig weitere Zeilen freigelassen, damit man etwaige neue Mitarbeiter mit ihren Daten anlegen kann. Diese 30 Zeilen sind gruppiert. Auf den übrigen 12 Blättern sind ebenfalls die dreißig Zeilen gruppiert, damit die Führungskräfte diese Zeilen nicht sehen und es übersichtlicher ist.
Wenn ich nun im ersten Blatt einen neuen Mitarbeiter anlege, muss ich diese Zeile aus der Gruppierung lösen. Selbiges muss ich bei den anderen 12 Blättern auch machen.
Kann man ein Makro programmieren, in dem die Gruppierung in Abhängigkeit vom Zellinhalt möglich ist. --> Bspw. ist das Feld Nachname gefüllt, dann löse die Zeile aus der Gruppierung?
Ich habe in keinen Forum eine derartige Fragestellung gefunden und bin gespannt, ob jemand eine Antwort weiß Vielen Dank im Voraus!!!
MfG
Fb
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 179740
Url: https://administrator.de/contentid/179740
Ausgedruckt am: 26.11.2024 um 14:11 Uhr
1 Kommentar
Hallo Fullback71!
[Edit] Anyhow - kannst Du ja selbst eintragen ...
[Edit2] Zeile 8 noch exakter formuliert [/Edit2]
[Edit]
Grüße
bastla
Kann man ein Makro programmieren
Würde man vielleicht sogar - wenn es konkrete Informationen über die Struktur gäbe (ab welcher Zeile, in welcher Spalte muss geprüft werden, wie heißen die Blätter) ...[Edit] Anyhow - kannst Du ja selbst eintragen ...
Sub Gruppierung_aufheben()
Tabellen = Array("Gesamt", "Jan", "Feb", ..., "Dez") 'Tabellennamen; mit der Übersichtstabelle beginnend
Spalte = "B" 'wenn diese Spalte nicht leer ist, Zeile aus Gruppierung entfernen
AbZeile = 101 'Zeile, ab welcher die Gruppierung (ursprünglich) beginnt
BisZeile = 200 'nur zur Sicherheit, falls keine Gruppierung (mehr) vorhanden ist
Zeile = AbZeile
Do Until Sheets(Tabellen(0)).Rows(Zeile).Summary Or Zeile > BisZeile
If Sheets(Tabellen(0)).Cells(Zeile, Spalte).Value <> "" Then
For Each Tabelle In Tabellen
With Sheets(Tabelle).Rows(Zeile)
If .OutlineLevel > 1 Then
.Ungroup
.Hidden = False
End If
End With
Next
End If
Zeile = Zeile + 1
Loop
End Sub
[Edit]
Grüße
bastla