Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1436to1440
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
Inhaltsverzeichnis

Formeln verändern mit VBA

Formeln verändern mit VBA
16.07.2015 09:28:02
team11team
Hallo Zusammen,
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

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formeln verändern mit VBA
16.07.2015 10:56:09
Herbert
Hallo (Name?),
wenn Du mir eine Beispieldatei hochladen könntest, könnte ich Dir evtl. helfen.
Servus

AW: Formeln verändern mit VBA
16.07.2015 15:24:12
Herbert
Hallo Hans,
Deine Angaben sind etwas verwirrend. In Deinem Makro "Formel_durchsuchen_und_anpassen" steht diese Zeile:
"For Each Zelle In Range("c43:e43")". In Deinem ersten Posting lautete sie noch
"For Each Zelle In Range("n80:v80")".
Doch in keinem Blatt ist in einem dieser Bereiche etwas eingetragen. Es wäre schon sehr sinnvoll, wenn die Beispieldatei mit der Originaldatei, zumindest im Layout, übereinstimmen würde.
Des Weiteren hast Du im Bereich AK8 - AK11 "Junior Consultant" etc. stehen. Muss das da bleiben?
Ebenfalls im von Dir angegebenen Zellenbereich N80:S80 steht in keiner der beiden Arbeitsmappen etwas drin.
Du schreibst: "Wäre toll wenn du mir helfen könntest." Gerne würde ich Dir helfen. Aber dazu brauche ich vernünftige Angaben. Also, schau Dir's noch mal an und gib mir wieder Bescheid.
Servus

Anzeige
AW: Formeln verändern mit VBA
16.07.2015 16:03:55
team11team
Hallo Herbert,
das hast du recht da hab ich in der Zwischenzeit weitergearbeitet gehabt und hab die Ausgabebereich verschoben. Der korrekte Bereich ist zwischen C43:G43. Tut mir Leid das ich das nicht mitgeteilt habe.
Ich habe versucht meine Anforderungen deutlicher verständlich zu machen, in dem ich die Ausgabetabelle (in der Bsp. Projektmappe beginnend ab Zeile 43) farbig markiert habe und jeweils hinzu geschrieben habe was passieren soll bzw. wie der Code noch verändert werden muss.
Was ich jetzt weiter verändern soll, damit es verständlicher wird weis ich leider nicht.
Warum die Werte in AK8-AK11 ein Problem darstellen versteh ich nicht ganz, aber man kann diese natürlich wegnehmen.
Beste Grüße

Anzeige
AW: Formeln verändern mit VBA
17.07.2015 09:44:28
Herbert
Hallo Hans,
also mir ist das zu viel für eine Forumshilfe. Vielleicht findet sich ja noch einer, der Dir hier helfen kann.
Falls nicht, bin ich gerne bereit, dies als Auftragsprogrammierung zu übernehmen und Dir ein entsprechendes Angebot zu unterbreiten. Bei Interesse, sende mir einfach eine eMail: hagrom at gmail.com
Servus

AW: Formeln verändern mit VBA
17.07.2015 16:00:17
ronforum
Hi Herbert,
ok schade.
Ein Ansatz hätte mir schon gereicht an dem ich evtl. weiter arbeiten hätte können.
Dadurch, dass ich das für eine soziale Einrichtung mache wird für sowas wohl kein Geld da sein.
Aber danke für deine Zeit.
Gruß
Hans
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige