Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1448to1452
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

VBA Funktionen in Kombinationen mit Excel Namen

VBA Funktionen in Kombinationen mit Excel Namen
29.09.2015 15:46:22
JOGO
Hallo,
ich bin seit langem auf der Suche nach einer Lösung für folgendes Problem.
Ich kann z.B. eine Funktion verfassen
Public Function test(a)
test = a ^ 2
End Function

und diese in Excel dann benutzen "=test(A2)".
Als Ingenieur will man aber alles schön ordentlich und möchte z.B. die ganze Spalte A als Namen z.B. v_wind definieren. Weil dann v_wind ein array ist, geht das dann nicht mehr (es sei denn mit irgendwelchen tricks, die das dann unübersichtlich machen (z.B. "=test(index(v_wind,1))").
Hat jemand eine schöne Lösung, z.B. Arrayerkennung mit VBA o.Ä.?
Ein Dankeschön schonmal vorneweg und Grüße
Johannes

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Funktionen in Kombinationen mit Excel Namen
29.09.2015 15:55:27
ChrisL
Hi
Function test(a)
If IsArray(a) Then
MsgBox "Array"
Else
MsgBox "kein Array"
End If
End Function
cu
Chris

AW: VBA Funktionen in Kombinationen mit Excel Namen
29.09.2015 15:58:25
Daniel
Hi
du kannst mit VarType(a) abfragen, was dir der Anwender als a übergeben hat und dann differenziert reagieren, je nachdem ob du einen Einzelwert oder ein Array erhalten hast.
Gruß Daniel

AW: VBA Funktionen in Kombinationen mit Excel Namen
29.09.2015 16:31:46
fcs
Hallo Johannes,
folgendes könnte funktionieren, ist aber auch nicht so ganz in deinem Sinne von ingeneurmäßiger Schönheit.
=test(index(v_wind,Zeile()-Zeile(v_wind)+1)))
Was du machen könntes: Wandle den Zellbereich inkl. der Spalten-Titel in eine Tabelle um.
Dann kann man in den Formeln bei Bedarf mit den Spaltentiteln arbeiten.
Userbild
Gruß
Franz

Anzeige
AW: VBA Funktionen in Kombinationen mit Excel Namen
30.09.2015 13:11:41
Rudi
Hallo,
Function test(a, Optional z As Long)
If IsArray(a) Then
test = a(z, 1) ^ 2
Else
test = a ^ 2
End If
End Function
ABC
2244
3399
441616
552525
663636

NameBezug
v_wind=Tabelle2!$A:$A

ZelleFormel
B2=test(v_wind;ZEILE())
C2=test(A2)

Gruß
Rudi

Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige