Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7516 / 13645 ツリー ←次へ | 前へ→

【38679】Withステートメントについて かれん 06/6/8(木) 14:18 質問[未読]
【38682】Re:Withステートメントについて ぴかる 06/6/8(木) 14:26 回答[未読]
【38683】Re:Withステートメントについて かれん 06/6/8(木) 14:42 お礼[未読]

【38679】Withステートメントについて
質問  かれん  - 06/6/8(木) 14:18 -

引用なし
パスワード
   初めて投稿します。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のステートメントを含むことが出来ないのでしょうか?
それとも根本的に複数のステートメントの組合せ自体がタブーなのでしょうか?

どなたかお教えください。お願いします。

【38682】Re:Withステートメントについて
回答  ぴかる  - 06/6/8(木) 14:26 -

引用なし
パスワード
   かれんさん、こんにちは。

>      i = Range("t6").Value
      i = .Range("t6").Value
かな? 他のとこも.を付けたらOKかもです。

【38683】Re:Withステートメントについて
お礼  かれん  - 06/6/8(木) 14:42 -

引用なし
パスワード
   へ?

そうかも!
これってうっかりケアレスミス!?
あはは

的確なお答えありがとうございました。
またよろしくお願いします。

7516 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free