以前、下記の質問をさせていただきました。
エクセルでハイフンで示した数値の範囲を別々の数値へ
http://okwave.jp/qa/q8192454.html
これの逆をやりたいと思い、下記のように改造してみました。
例:1,2,3,5,7,8,9,10,12→1-3,5,7-10,12
しかし#VALUE!になってしまいます。
どこがおかしいのか色々試してみましたが、分かりません。
どなたかご教授頂けると幸いです。
Function hSample(sData As String) As String
sOne = Split(sData, ",")
For i = 0 To UBound(sOne)
For j = 1 To 255
If Int(sOne(i)) + j <> Int(sOne(i + j)) Then
ElseIf j > 1 Then
sOne(i) = sOne(i) & "-" & sOne(i) + j
Exit For
End If
Next j
hSample = hSample & "," & sOne(i)
Next i
hSample = Right(hSample, Len(hSample) - 1)
End Function