文字列を分割し、分割された部分を取得して変数に割り当てようとしています。これは最初の変数では正常に機能しますが、2番目の変数を機能させることができません。
For Each columnQuarter As DataColumn In dt.Columns
Dim s As String = columnQuarter.ColumnName
Dim words As String() = s.Split("-")
Dim Year As String = words(0)
Dim Quarter As String = words(1)
Debug.WriteLine(Year)
Debug.WriteLine(Quarter)
「DimQuarterAsString = words(1)」の行で、「IndexOutofRangeExceptionが処理されませんでした。インデックスが配列の境界外にありました。」というエラーコードが表示されます。
ColumnNameの例は2012-Q1です。
追加情報:
dataTableに列を追加するために使用するコードは次のとおりです。ご覧のとおり、最初の2列には「-」が含まれていません。
tickerColumn = New DataColumn("Ticker", Type.GetType("System.String"))
consistencyColumn = New DataColumn("Consistency", Type.GetType("System.Int32"))
dt.Columns.Add(tickerColumn)
dt.Columns.Add(consistencyColumn)
With Me
lr = Now.Year - 1901
For i = 1 To lr
column = New DataColumn
column.DataType = System.Type.GetType("System.Int32")
column.ColumnName = Now.Year - i & "-Q4"
dt.Columns.Add(column)
column = New DataColumn
column.DataType = System.Type.GetType("System.Int32")
column.ColumnName = Now.Year - i & "-Q3"
dt.Columns.Add(column)
column = New DataColumn
column.DataType = System.Type.GetType("System.Int32")
column.ColumnName = Now.Year - i & "-Q2"
dt.Columns.Add(column)
column = New DataColumn
column.DataType = System.Type.GetType("System.Int32")
column.ColumnName = Now.Year - i & "-Q1"
dt.Columns.Add(column)
Next i
End With