Excel VBA質問箱 IV

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

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


12212 / 13646 ツリー ←次へ | 前へ→

【11728】他のシートの数値までクリアしてしまう ぴぴ 04/3/15(月) 14:31 質問
【11730】Re:他のシートの数値までクリアしてしまう IROC 04/3/15(月) 14:44 回答
【11731】Re:他のシートの数値までクリアしてしまう Asaki 04/3/15(月) 14:54 回答
【11733】Re:他のシートの数値までクリアしてしまう ぴぴ 04/3/15(月) 15:36 お礼

【11728】他のシートの数値までクリアしてしまう
質問  ぴぴ  - 04/3/15(月) 14:31 -

引用なし
パスワード
   下記のようにユーザフォームでのイベントで

Private Sub CommandButton1_Click()
 
 Dim sh As Worksheet

On Error Resume Next
  Set sh = Worksheets(ListBox1.Text)
On Error GoTo 0
  'ないとき
  If sh Is Nothing Then
    Worksheets("元帳").Copy After:=Worksheets(Worksheets.Count)
    Set sh = ActiveSheet
    sh.Name = ListBox1.Text
    sh.Cells(2, 2).Value = "前期繰越"
    sh.Cells(2, 5).Value = TextBox1.Value
    sh.Cells(2, 7).Value = TextBox2.Value
    
  'あるときは数値をクリアして転記
  Else
   '文字数値のみクリア
  On Error Resume Next
  
  sh.Range("A2:G200").Select
   Selection.SpecialCells(xlCellTypeConstants, 23).Select
   Selection.ClearContents
  sh.Range("B2").Select
  With sh.Cells(2, 2).Value = "前期繰越"
    sh.Cells(2, 5).Value = TextBox1.Value
    sh.Cells(2, 7).Value = TextBox2.Value
    
    End With
  
  On Error GoTo 0
  'クリアここまで
    .
    .
    .
と後へ続くのですが、
上記のクリアの際、shのシートもクリアされ転記も出来ていますが、
ユーザーフォームが表示される(コマンドボタンを置いてある)
別シートのセルまでクリアされてしまいます。
どのように回避すればよいのでしょうか?

【11730】Re:他のシートの数値までクリアしてしまう
回答  IROC  - 04/3/15(月) 14:44 -

引用なし
パスワード
   Set sh = ActiveSheet


これが原因では?

【11731】Re:他のシートの数値までクリアしてしまう
回答  Asaki  - 04/3/15(月) 14:54 -

引用なし
パスワード
   こんにちは。

取り敢えず、
>  Else
の後に
MsgBox sh.Name
と追加してみて、処理したいシートが対象になっているかどうか確認してみてください。

また、関係ないところですが、
>  With sh.Cells(2, 2).Value = "前期繰越"

sh.Cells(2, 2).Value = "前期繰越"

>End With
は不要です。

>On Error Resume Next
するときは、必要最小限の部分だけ、処理するようにしたほうが良いと思います。

【11733】Re:他のシートの数値までクリアしてしまう
お礼  ぴぴ  - 04/3/15(月) 15:36 -

引用なし
パスワード
   Asakiさま IROCさま
ありがとうございました。

MsgBox sh.Name
を挿入したら解消しました。
With〜End Withも消しました。

こんな初心者に丁寧にお教え頂きありがとうございます。
勉強になります。

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