Windows フォームのコンボボックスに、Excel ワークブックの使用範囲を設定しようとしています。参照する必要がある Excel の範囲は D32:D62 です。ただし、この範囲は動的です。ユーザーがアプリに入力する内容に応じて、5 つの値のみが含まれる場合もあれば、30 が含まれる場合もあります。この範囲の値はすべて上部にオフセットされるため、値の間に空白のセルはありません。
'populate ComboBoxProgram with relevant program names for loaded student
Try
Dim oRange As Excel.Range
Dim oRangeArr As String
oRange = DirectCast(StatVar.xlApp.Sheets("New Calculator Input").UsedRange("D32", "D62"), Excel.Range)
oRangeArr = String.Empty
'Build a string array delimited by commas
For i As Integer = 1 To oRange.Rows.Count
Dim oCell As Excel.Range = DirectCast(oRange.Rows(i), Excel.Range)
oRangeArr &= DirectCast(oCell.Value.ToString, String) & ","
Next
oRangeArr = oRangeArr.Remove(oRangeArr.Length - 1, 1)
ComboBoxProgram.Items.AddRange(oRangeArr.Split(","c))
oRange = Nothing
Catch exc As Exception
MessageBox.Show("An error occured while retrieving the relevant programs from the budget. Please contact an administrator for assistance.")
End Try
これは、範囲内のすべてのセルに値がある場合にのみコンボボックスに入力されます。使用されている範囲だけを見つけるにはどうすればよいですか?