|
初めて投稿します。VBA初心者ですよろしくお願いします。
コードの見た目を分かりやすくしようと、Withステートメントをつかって効率を図ろうとしているのですが、どうもうまくいきません。
具体的には、
With Worksheets("報告書")
Dim i As Integer
Dim a As Integer
i = Range("t6").Value
a = 0
Do
(中略)
If i > 0 Then
MsgBox (中略)
Range("e8").Value = InputBox("入力してください。", 件数枠", "0")
a = a + Range("e8").Value
(以下同様なことが続くので 中略)
End If
Loop Until i = a
End With
といった具合です。
すると、「報告書」のワークシートで処理をして欲しいのに、アクティブシートで処理されてしまうので、困っています。
基本的なことが理解できていないような気が自分でもしてます。
WithステートメントはDo〜Loopのステートメントを含むことが出来ないのでしょうか?
それとも根本的に複数のステートメントの組合せ自体がタブーなのでしょうか?
どなたかお教えください。お願いします。
|
|