2017-09-16 9 views
1

Ich habe eine Reihe von Zeichenfolgen in einer Spalte, die ich für die spätere Verarbeitung eingeben. Ich möchte in der Lage sein, das Array zu drucken, um das Array zu sehen und notwendige Änderungen zu verstehen. In der folgenden Stichprobe sind Werte in allen 14 Zellen enthalten. Allerdings, wenn ich diesen Code ausführen bekomme ich einen VBA „Laufzeitfehler‚9‘:.? Index außerhalb des zulässigen Bereichs‘ FehlerDrucken Sie ein Array in VBA-Index außerhalb des Bereichs

Sub Clean() 
     Dim siteArrayOriginal() 
     siteArrayOriginal() = Worksheets("Sheet1").Range("A1:A14").Value 
     viewArray (siteArrayOriginal) 
    End Sub 

Public Function viewArray(myArray) 
    Dim txt As String 
    Dim i As Long 

    For i = LBound(myArray) To UBound(myArray) 
    txt = txt & myArray(i) & vbCrLf 
    Next i 

    MsgBox txt 
End Function 

Warum

+0

REDIM das Array in der Funktion – Lowpar

Antwort

2

Das Array, wenn Sie vorbei an einer Säule . So ist nach wie vor eine zweidimensionale Anordnung

wenn darauf zu verweisen müssen Sie die zweite Dimension umfassen:

myArray(i, 1)

So

:

Sub Clean() 
    Dim siteArrayOriginal() 
    siteArrayOriginal() = Worksheets("Sheet1").Range("A1:A14").Value 
    viewArray (siteArrayOriginal) 
End Sub 

Public Function viewArray(myArray) 
    Dim txt As String 
    Dim i As Long 

    For i = LBound(myArray) To UBound(myArray) 
    txt = txt & myArray(i, 1) & vbCrLf 
    Next i 

    MsgBox txt 
End Function 

enter image description here

Verwandte Themen