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
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen