Hallo
ich verwende eine Funktion (geschützt) mit mehreren Parameter. Einer dieser Parameter ist ein umfanreicher Bereich in der selben Zeile. Ich möchte nur für eine Zelle dieses Bereiches verschiedene Werte an die Funktion übergeben, ohne die Zeilenlänge vervielfachen zu müssen.
Ist schwierig zu erklären. Als Beispiel :
|
A |
B |
C |
D |
E |
F |
G |
H |
I |
22 |
1 |
2 |
3 |
4 |
=Funktion(A22:D22) |
|
|
|
|
So sollte es in etwa aussehen :
|
A |
B |
C |
D |
E |
F |
G |
H |
I |
22 |
1 |
2 |
3 |
4 |
5 |
6 |
=Funktion(A22:D22) |
=Funktion(Bereich(A22:C22;E22)) |
=Funktion(Bereich(A22:C22;F22)) |
Ich könnte natürlich den Bereich A22:E22 nach F22:J22 und nach K22:O22 kopieren und die Zellen I22 (mit 5) bzw N22 (mit 6) überschreiben. Das wäre in diesem Fall jedoch sehr unübersichtlich (weil im konkreten Fall bedeutend mehr Spalten verwendet werden).
Ich bräuchte also VBA-Funktionen solcher Art :
Public Function bereich_E(zeile As String) As range
Set bereich = range("A" + zeile + ":C" + zeile, "E" + zeile)
End Function
Public Function bereich_F(zeile As String) As range
Set bereich = range("A" + zeile + ":C" + zeile, "F" + zeile)
End Function
Bereich_E(Zeilennummer) und Bereich_F(Zeilennummer), die aus mehreren Bereichen einen einzigen Bereich machen, den man als Parameter einer Funktion einsetzen kann.
Vielen Dank im Voraus
Chris
|