ich möchte das Argument für einen Array aus einer Zelle auslesen.
Wie bekomme ich das hin?
Ich habe schon ein paar Sachen versucht und es nicht leider geschafft :-(
Vielen Dank für Eure Hilfe,
Dirk
Sub ArrayFuellen()
Dim arr1 As Variant, Feld(1 To 4) As String
arr1 = Array("A", "B", "C", "D")
'Arrays mit Daten aus Zellbereich A1:D1 füllen
For i = 0 To UBound(arr1)
arr1(i) = ActiveSheet.Cells(1, i + 1).Value
Feld(i+1) = ActiveSheet.Cells(1, i + 1).Value
MsgBox (i & " : " & arr1(i) & vblf & Feld(i+1))
Next i
End Sub
Sub array_fuellen()
Dim arrParameter As Variant, strParameter As String, iI As Integer
strParameter = ActiveWorkbook.Sheets("Tabelle1").Range("B5")
'Entfernen der evtl. vorhandenen Anführungszeichen
If Left(strParameter, 1) = """" Then
strParameter = Mid(strParameter, 2)
End If
If Right(strParameter, 1) = """" Then
strParameter = Left(strParameter, Len(strParameter) - 1)
End If
'Zellinhalt in Array einlesen
arrParameter = Split(strParameter, ",")
'Test zum Auslesen des Arrays
For iI = 0 To UBound(arrParameter)
MsgBox arrParameter(iI)
Next
' Syntax bei Verwendung des Array (ungetestet)
With irgendwas
.TextFileColumnDataTypes = arrParameter
End With
End Sub
Sub array_fuellen()
Dim arrParameter As Variant, strParameter As String, iI As Integer, Feld() As Integer
strParameter = ActiveWorkbook.Sheets("Tabelle1").Range("B5")
If Left(strParameter, 1) = """" Then
strParameter = Mid(strParameter, 2)
End If
If Right(strParameter, 1) = """" Then
strParameter = Left(strParameter, Len(strParameter) - 1)
End If
arrParameter = Split(strParameter, ",") 'Zellinhalt in Array einlesen
' arrParameter = Array(1, 2, 2, 1, 2, 1) 'Test-Array mit Zahlen
'Test zum Auslesen des Arrays
For iI = 0 To UBound(arrParameter)
If IsNumeric(arrParameter(iI)) Then
MsgBox "Variablen-Typ: " & VarType(arrParameter(iI)) & " sollte 2 (Integer) oder 3 (Long) sein nicht 8 (String)" _
& vbLf & "Inhalt:" & arrParameter(iI) & " ist eine Zahl"
Else
MsgBox "Variablen-Typ: " & VarType(arrParameter(iI)) & " sollte 2 (Integer) oder 3 (Long) sein nicht 8 (String)" _
& vbLf & "Inhalt:" & arrParameter(iI) & " ist Text"
End If
Next
'Arraydaten, die als Strings vorliegen in ein Integer-Feld einlesen
ReDim Feld(0 To UBound(arrParameter))
For iI = 0 To UBound(arrParameter)
Feld(iI) = CInt(Val(arrParameter(iI))) ' Konversion der ggf. als String vorliegenden Zahlen
Next
With irgendwas
.TextFileColumnDataTypes = Feld()
End With
End Sub