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

Array Klasse Funktion/Sub Vorschläge

Array Klasse Funktion/Sub Vorschläge
15.12.2017 22:39:48
Peter(silie)
Hallo Leute,
ich möchte mir eine Array Klasse erstellen und möchte euch
desshalb fragen welche Funktionen o.ä. ihr braucht.
Ich bin mir bis Dato selbst nicht ganz im klaren was alles brauchbar ist
und bitte daher um: Ideen/ Wünsche/ Vorschläge
Versionen werde ich im Forum hochladen falls erwünscht oder gewollt.
Hier mal meine ersten 3 Sachen.
(DimensionCount() As Long soll als nächstes kommen
gibt die Anzahl der Dimensionen zurück)
ValidValue ist noch nicht fertig!
Option Explicit
Public Function IsArray_Truly(ByRef Input_ As Variant) As Boolean
On Error Resume Next
If Not IsArray(Input_) Then Exit Function
Dim i As Long
i = UBound(Input_)
IsArray_Truly = Err.Number = 0
End Function
Public Function IsTwoDimensional(ByRef Input_ As Variant) As Boolean
On Error Resume Next
If IsArray_Truly(Input_) Then
Dim i As Long
i = UBound(Input_, 1)
IsTwoDimensional = Err.Number = 0
End If
End Function
Public Function ReturnColumn(ByRef Input_ As Variant, ByVal Column As Long, _
Optional ByVal IgnoreEmptyValues As Boolean = True) As Variant
If IsArray_Truly(Input_) And IsTwoDimensional(Input_) Then
Dim i As Long, n As Long
Dim tmp() As Variant
For i = LBound(Input_) To UBound(Input_)
If ValidValue(Input_(i, Column), IgnoreEmptyValues) Then
ReDim Preserve tmp(n)
tmp(n) = Input_(i, Column)
n = n + 1
End If
Next i
ReturnColumn = tmp
Erase tmp
End If
End Function
Private Function ValidValue(ByVal Input_ As Variant, IgnoreEmpty As Boolean) As Boolean
Select Case VarType(Input_)
Case vbString
If IgnoreEmpty Then
ValidValue = True 'Not Input_ = vbNullString
Else
ValidValue = Not Input_ = vbNullString
End If
Case vbLong
ValidValue = True
Case vbInteger
ValidValue = True
Case vbSingle
ValidValue = True
Case vbDouble
ValidValue = True
Case vbCurrency
ValidValue = True
Case vbDate
ValidValue = True
Case vbBoolean
ValidValue = True 'Who would ever do a Bool()!?
Case vbVariant
ValidValue = True
Case vbDecimal
ValidValue = True
Case vbByte
ValidValue = True
Case Else: ValidValue = False
End Select
End Function

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array Klasse Funktion/Sub Vorschläge
17.12.2017 22:53:47
Luschi
Hallo Peter(silie),
Vb6, Vba & VB.Net erlauben dieses Konstrukt:

Case vbLong, vbInteger, vbSingle, vbDouble, vbCurrency, _
vbDate, vbBoolean, vbVariant, vbDecimal,vbByte
ValidValue = True
Case Else
ValidValue = False
Gruß von Luschi
aus klein-Paris
Wie praktisch das ist, merkt man erst, wenn man fremdwandelt in anderen Prog.-Sprachen,
wie z.B C#, da da vermisse ich es schmerzlich!
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige