ich bin in dem VBA-Thema noch sehr neu und baue gerade an einer Tabelle mit einem Fragebogen zur Bewertung von Arbeitsabläufen hinsichtlich der Digitalisierung. Die Tabelle hat ein Tabellenblatt mit Erläuterungen, ein Tabellenblatt mit dem Fragebogen und eins mit den Ergebnis.
Zwei der Fragen auf dem Fragebogen werden jedoch möglicherweise mit n/a beantwortet, weil die Frage nicht auf den Arbeitsablauf zutrifft. Dadurch gibt es unterschiedliche maximale Gesamtpunktzahlen.
Auf dem Tabellenblatt mit dem Ergebnis werden für die Antworten Punkte vergeben und diese zusammengezählt. Für das Summen-Feld habe ich vier bedingte Formatierungen gebaut. Einmal eine bedingte Formatierung für eine Farbskala und drei Bedingte Formatierungen um hinter der Summe die mögliche Gesamtpunktzahl stehen zu haben (Beispiel: "SummePunkte von 29").
Bei der bedingten Formatierung mit der Farbskala habe ich beim Mittelwert und Maximum jeweils eine Wenn-Formel eingebaut um die unterschiedlichen Gesamtpunktzahlen zu berücksichtigen und bei den anderen bedingten Formatierungen sind es Regeln die jeweils eine Formel nutzen ob sie angewendet werden.
Jetzt ist es aber so, dass man in der Tabellen vielleicht nicht nur einen Arbeitsablauf bewerten möchte sondern mehrere. Dafür habe ich eine Button eingebaut, welcher mit Makros einen neues Tabellenblatt mit dem Fragebogen und einen neuen Abschnitt auf dem Tabellenblatt mit den Ergebnissen hinzufügt.
Ich möchte jedoch auch, dass ein neu eingefügtes Summenfeld auf dem Ergebnisblatt auch mit bedingten Formatierungen wie eben beschrieben formatiert wird. Folgenden Code habe ich für die erste Formatierung des Textes bisher:
Sub testbedingte()
Dim frage50 As Integer
Dim frage120 As Integer
Dim formula As String
zusätzlichefragebögen = Sheets.Count - 3
frage50 = (zusätzlichefragebögen * 17) + 7
frage120 = (zusätzlichefragebögen * 17) + 14
formula = "=UND(C" & frage50 & "=""n/a"";C" & frage12 & "=""n/a"")"
'Fehler
Selection.FormatConditions.Add Type:=xlExpression, Formula1:=formula
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
ExecuteExcel4Macro "(2,1,""0"" von 26"""")"
Selection.FormatConditions(1).StopIfTrue = False
End Sub
Beim Ausführen des Codes kommt die Meldung "Laufzeitfehler '5': Ungültiger Prozeduraufruf oder ungültiges Argument"
Hat jemand eine Idee was mein Fehler ist?