Excel VBA質問箱 IV

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

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


10699 / 13644 ツリー ←次へ | 前へ→

【20361】コンボボックスで指定したシートの一括削... だやだやん 04/12/7(火) 12:21 質問[未読]
【20362】Re:コンボボックスで指定したシートの一括... IROC 04/12/7(火) 12:56 回答[未読]
【20369】Re:コンボボックスで指定したシートの一括... だやだやん 04/12/7(火) 14:33 お礼[未読]
【20364】Re:コンボボックスで指定したシートの一括... "" 04/12/7(火) 13:25 回答[未読]
【20367】Re:コンボボックスで指定したシートの一括... だやだやん 04/12/7(火) 14:16 お礼[未読]

【20361】コンボボックスで指定したシートの一括削...
質問  だやだやん  - 04/12/7(火) 12:21 -

引用なし
パスワード
   ComboBox1で2004などの年を選択し、CommandButton1で1年分のシートを名前を月に変えて作成、CommandButton2で1年分を一括削除します。以下のコードでシートの作成まではできたのですが、一括削除がうまく動きません。教えてください。

Private Sub CommandButton1_Click()
Dim mysht As String
Dim i As Integer

For i = 1 To 12
mysht = Format(ComboBox1.Value & "/" & i & "/1", "yyyy年mm月")

On Error Resume Next
Worksheets(mysht).Select

If Err Then
  Worksheets("Template").Copy After:=Worksheets(Worksheets.Count)
  Worksheets(Worksheets.Count).Name = mysht
  Worksheets(mysht).Range("A2").Value = mysht
 
  Err.Clear
End If
Next
On Error GoTo 0
End Sub

【20362】Re:コンボボックスで指定したシートの一...
回答  IROC  - 04/12/7(火) 12:56 -

引用なし
パスワード
   >一括削除がうまく動きません。
どのようにうまくいかないのか、教えていただけますか?

for - nextでループするなら、シートを削除すると、
インデクッス番号がずれますので、Step-1にして下さい。

もしくは、For each - next をお使い下さい。

【20364】Re:コンボボックスで指定したシートの一...
回答  ""  - 04/12/7(火) 13:25 -

引用なし
パスワード
   Private Sub CommandButton2_Click()
Dim mysht As String
Dim i As Integer

On Error Resume Next

Application.DisplayAlerts = False

For i = 1 To 12
mysht = Format(ComboBox1.Value & "/" & i & "/1", "yyyy年mm月")
Worksheets(mysht).Delete
Next

Application.DisplayAlerts = True

On Error GoTo 0
End Sub

誰か手直ししてください。

【20367】Re:コンボボックスで指定したシートの一...
お礼  だやだやん  - 04/12/7(火) 14:16 -

引用なし
パスワード
   ありがとうございます。できました!

【20369】Re:コンボボックスで指定したシートの一...
お礼  だやだやん  - 04/12/7(火) 14:33 -

引用なし
パスワード
   ありがとうございます、できました。
途中でインデックスがありません、とエラーが出て止まっていたのですが、変数の設定を直したら動きました。

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