プロが教えるわが家の防犯対策術!

下記のマクロを記述しました。
一つのマクロ処理を終わらせて、次のマクロ(例:test)を動かしたいのですが何処に
記述したら良いかわかりません。
教えてください。

Sub Macro1()
Dim i As Integer
Dim buff As String
i = 2
While 1
If Range("B" & i).Value = "" Then
End
End If
buff = Range("B" & i).Value
Range("B" & i).Value = Left(buff, 7) + " " + Mid(buff, 8, 5) + " " + Right(buff, 6)
i = i + 1
Wend
  Call test →ここに仮に記述したのですが、testのマクロに行きません。
End Sub
以上

A 回答 (2件)

このマクロには繰り返し終了条件が無く、Range("B" & i).Value = "" がTRUEになったところでマクロが終了しますのでtestは実行されません。



繰り返しを次の様にしたらどうでしょう。

While Not Range("B" & i).Value = ""
 buff = Range("B" & i).Value
 Range("B" & i).Value = Left(buff, 7) + " " + Mid(buff, 8, 5) + " " + Right(buff, 6)
 i = i + 1
Wend
Call test
    • good
    • 0
この回答へのお礼

参考になりました。ありがとうございました。

お礼日時:2002/03/19 13:36

gonta_gomaさんとほとんど同じ?違う?



Sub Macro1()
  Dim i As Integer
  Dim buff As String

  i = 2
  buff = Range("B" & i).Value
  While buff <> ""
    Range("B" & i).Value = Left(buff, 7) & " " & Mid(buff, 8, 5) & " " & Right(buff, 6)

    i = i + 1
    buff = Range("B" & i).Value
  Wend

  Call test
End Sub
    • good
    • 0
この回答へのお礼

出来ました。ありがとうございました。

お礼日時:2002/03/19 12:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!