erst einmal großes Lob an das Forum. Ich bin noch recht neu mit VBA, hab hier im Forum aber schon viele Sachen lernen können. Bis jetzt bin ich auch ohne weitere Hilfe zurechtgekommen, aber jetzt muss ich euch doch um Hilfe bitten. Ich komm grad überhaupt nicht weiter.
Ich baue mir gerade eine etwas aufwendigere Ansicht um Mitarbeitereigenschaften mit Projekteigenschaften abzugleichen. Die Mitarbeiter und die Projekte laufen in einer separaten Arbeitsmappe, jeder Mitarbeiter und jedes Projekt ist als eigenes Tabellenblatt angelegt. Die Tabellenblätter werden über ein Makro eingespielt, dass das ganze "Standard" Tabellenblatt kopiert.
Sub Vorlage()
Dim tbstr As String
tbstr = "Projekt" & ActiveWorkbook.Sheets.Count + 0
Worksheets("Standard").Copy after:=ActiveWorkbook.Sheets(Sheets.Count)
ActiveSheet.Name = tbstr
End Sub
Sowohl für die Mitarbeiter wie auch für die Projekte werden Eigenschaften hinterlegt. Der Abgleich geschieht über mehrere Formeln im Projekt-Arbeitsblatt. Hier soll eine Art Liste entstehen, die die einzelnen Eigenschaften bewertet, für jeden Mitarbeiter eine Zeile.
Werden neue Mitarbeiter hinzugefügt, soll ebenfalls die Liste im Projektarbeitsblatt wachsen. Die bestehenden Formeln in N80:S80 sollen kopiert werden, und für das neue Tabellenblatt abgeändert werden. Zum Abändern der Formeln auf den entsprechenden Tabellenblattnamen habe ich auch schon einen funktionierenden Code:
Sub Formel_durchsuchen_und_anpassen()
Dim alteFormel As String, neueFormel As String
For Each Zelle In Range("n80:v80")
'prüfen ob Zelle eine Formel mit Standard enthält
If Zelle.HasFormula = True And InStr(1, Zelle.Formula, "Standard") 0 Then
Zelle.Activate
alteFormel = Zelle.Formula
neueFormel = Replace(alteFormel, "Standard", "Mitarbeiter1")
Zelle.Formula = neueFormel
End If
Next Zelle
End Sub
Wo ich jetzt aber noch meine Probleme habe:
1. Wird ein neues Mitarbeiter-Tabellenblatt eingefügt soll automatisch der Zellenbereich N80:S80 mit seinen Formeln kopiert werden und in die nächste freie Zeile darunter eingefügt werden.
2. Die Range in meinem Code müsste sich immer entsprechend ändern damit nur jeweils die Zeilen angepasst werden, in der die Zellen kopiert wurden.
3. Die Benennung für das Arbeitsblatt in meinem Code müsste sich ebenfalls immer weiter verändern, wenn weitere Arbeitsblätter (Mitarbeiter1, Mitarbeiter2, Mitarbeiter3, usw.) hinzugefügt werden. Wichtig wäre hier eigentlich nur das man eine Art laufende Nummer hinter den Mitarbeitern einfügt.
4. Außerdem ist geplant, dass ein Autofilter eingebaut wird. In der Zelle U81 bis U (je nachdem wie viele Mitarbeiter eingefügt werden) soll absteigend nach einem Scoring welches sich über eine Formel ergibt gefiltert werden.
Könnt ihr mir vielleicht helfen. Bin schon die ganze Zeit am rumprobieren, aber so ganz ergeben mag sich da nix.
Vielen Dank im Voraus.
Grüße
team11team