VBA Function?

... komplette Frage anzeigen

2 Antworten

So sollte es richtig sein:

Function GetConsOverviewFormulaavintot(consName As String, column As String, row As String) As String
Dim consNameApostroph As String

consNameApostroph = "'" & consName & "'"
GetConsOverviewFormulaavintot = "IF(" & consNameApostroph & "!$" & column & "$" & row & "=" & "No average to show " & consNameApostroph & "!$" & column & "$" + row & ")"

End Function

MFG xGlumi

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Kyrill92
27.11.2015, 13:04

Danke, ich hab zwar ein + statt eines & genommen aber es geht ;)

0
  • Ich würde nicht Row und Column als Parameternamen verwenden, da diese eigenschaften von Range-Objekten sind, was zu Verwechslungen führen kann.
  • Der Zeichenkettenverknüpfungsoperator ist in Excel wie in VBA &.
  • Du solltest überprüfen, ob die Zeichenketten korrekt terminiert sind. In deinem Code sind " von ' mehrfach hintereinander geschachtelt schwer zu erkennen, ob dies korrekt geschehen ist.
  • Erwarte nicht, dass die zurückgegebene Bedingung ausgeführt wirst. Du wirst dein IF uninterpretiert als Zeichenkette als Formelergebnis zurück bekommen.
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Kyrill92
24.11.2015, 16:41

Nunja aus meiner Sicht geht das auf mit den " aber ich denke dort liegt der Hund begraben.. Weiß nur nicht wieso..
Aber bei einer ganz ähnlichen Formel geht es mit + zum verknüpfen und auch die Funktion wird ausgeführt. Der Kompiler sagt aber immer "Erwartet: Anweisungsende"

0

Was möchtest Du wissen?