エクセル VBA If~Then~Else
エクセルのA列に以下の文字列が入っています。
A1
A2=100-101
A3=102-103
A4=104-105
A5=106-107
A列の文字列を上から順に結合するため下記のVBAを実行しました。
結合の条件として、文字列の最後の数字と次のセルの最初の数字が連続しているならば、互いに消去して結合、そうでないなら「,」 (カンマ)でつなげて結合したいと思っています。
なので期待する結果としては
A1=100----107
となってほしいのですが、実際は
A1=100--103,104-105,106-107
となってしまいました。
(ループ中の1回目の条件分岐だけが成功し、2回目以降は違っている)
「IF~Then」の部分が間違っているようなのですが・・・・・わかりません。
プロパティの使い方など全体的に至らぬ点があるかもしれませんがよろしくお願いします。
Dim i As Integer
Dim X As String
Dim mojisu As String
i = 3
X = Cells(i, 1)
mojisu = 3
Cells(1, 1) = Cells(2, 1)
Do Until Cells(i, 1).Value = ""
If Left(X, mojisu) - Right(Cells(1, 1), mojisu) = 1 Then
Cells(1, 1).Value = Left(Cells(1, 1), Len(Cells(1, 1)) - mojisu) & Right(X, Len(X) - mojisu)
Else
Cells(1, 1).Value = Cells(1, 1).Value & "," & Cells(i, 1).Value
End If
i = i + 1
Loop
お礼
回答ありがとう:)