ユーザー フォーム (VBA、Excel) から数値範囲を解析する必要があります。例: {1-3,5,9} -> {1,2,3,5,9,}
質問はすでにここで議論されています: 文字列からの数値範囲の高度な解析
タスクは非常に標準的ですが、VBA 用の既製のソリューションはありますか?
ユーザー フォーム (VBA、Excel) から数値範囲を解析する必要があります。例: {1-3,5,9} -> {1,2,3,5,9,}
質問はすでにここで議論されています: 文字列からの数値範囲の高度な解析
タスクは非常に標準的ですが、VBA 用の既製のソリューションはありますか?
中括弧は文字列の一部ではないと想定しています。次の UDF を検討してください。
Public Function DashFiller(sIn As String) As String
Dim N As Long, NN As Long
DashFiller = ""
ary = Split(sIn, ",")
For N = LBound(ary) To UBound(ary)
If InStr(1, ary(N), "-") > 0 Then
ary2 = Split(ary(N), "-")
ary(N) = ary2(0)
For NN = ary2(0) + 1 To ary2(1)
ary(N) = ary(N) & "," & NN
Next NN
End If
Next N
DashFiller = Join(ary, ",")
End Function
したがって、A1 に 1-2,3,4,5,9-12 が含まれている場合
B1 には次が含まれます: =DashFiller(A1)
B1 は次のように表示されます: 1,2,3,4,5,9,10,11,12