Excel VBA質問箱 IV

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

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


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

【32319】チェックボックスの選択 ひん 05/12/12(月) 18:47 質問[未読]
【32323】Re:チェックボックスの選択 ponpon 05/12/12(月) 19:43 発言[未読]
【32326】Re:チェックボックスの選択 ponpon 05/12/12(月) 20:09 発言[未読]
【32328】Re:チェックボックスの選択 ひん 05/12/12(月) 20:36 お礼[未読]
【32331】Re:チェックボックスの選択 ponpon 05/12/12(月) 20:57 発言[未読]
【32332】Re:チェックボックスの選択 wad 05/12/12(月) 21:21 発言[未読]
【32372】Re:チェックボックスの選択 ひん 05/12/13(火) 15:22 お礼[未読]
【32327】Re:チェックボックスの選択 ひん 05/12/12(月) 20:17 お礼[未読]

【32319】チェックボックスの選択
質問  ひん  - 05/12/12(月) 18:47 -

引用なし
パスワード
   いろいろ勉強させていただいておりますが、まだまだ勉強不足(知識不足?)のため、頭の中が真っ白で何をどうすればよいのやら・・・

何をしたいかというと。
端的にいえば、userformを介してシートの情報を削除したいのです。(10シート中7つのシートを任意に削除をしたいです。)
userformに7つのチェックボックスを作り、コマンドボタンを作成しました。
ボタンを押下することによりチェックされたものだけを削除できればと思います。
(削除前に確認作業もしたいです。)

どこからどう手をつけていいかさっぱり・・・

申し訳ありません。誰か助けてください。

【32323】Re:チェックボックスの選択
発言  ponpon  - 05/12/12(月) 19:43 -

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

時間がないので考え方だけ

コマンドボタンを押したとき、(Private Sub CommandButton1_Click())

もしチェックボックスの1の値がTrueだったら、(Me.CheckBox1.Value=True)

シート1を削除する。 (Delete)

まずこれを考える。

これができたら、

次にチェックボックスをループして、

チェックボックスのの値がTrueだったら、それぞれに対応したシートを削除する。

【32326】Re:チェックボックスの選択
発言  ponpon  - 05/12/12(月) 20:09 -

引用なし
パスワード
   引き続き こんばんは。

>(削除前に確認作業もしたいです。)

これは、Application.DisplayAlerts=False にして
代わりにMsgboxを出して、Yes、Noで分岐したらいいと思います。

とここまで考えて、全体の仕様が分からないので何ともいえませんが、
このマクロ一回しか使いませんよね。だって、削除したら用なしですもん。
手作業で削除した方が速いのではないでしょうか?

ファイルを次々に開いて、削除するなら意味があるかもしれませんが、
その場合シート名が問題になるし、う〜ん ?

意味が違っていたらごめんなさい・・・。

【32327】Re:チェックボックスの選択
お礼  ひん  - 05/12/12(月) 20:17 -

引用なし
パスワード
   ponponさま

早速の回答ありがとうございます。
なんとなくイメージか掴めました。がんばります。

ただループさせるイメージが湧かない。
でもがんばってみます。

【32328】Re:チェックボックスの選択
お礼  ひん  - 05/12/12(月) 20:36 -

引用なし
パスワード
   おっしゃるとおり、手で削除した方が早いです。

ただ、作業をする人が・・・(年?のため)余計なところを
消すかもしれないと思い。選択出来るようにしたかったのです。
(以前やられましたので・・・)
作業内容としては、前日作った4シートと、当日作成する4つの元シートの情報を使って新たに3つのシートを作成します。(これが翌日の前日情報となります。)
シートの削除では一括して前日のものと当日の元を削除することも選択出来るようにしてありますが、作業内容的に前日分だけを削除するケースも出てくるため、選択が必要なのです。(分かっている人が作業してくれれば何も問題ないのですが・・・)

こんな事情もあり選択したものを削除したいのです。
なお、削除と言ってますが、消去の方があってるかな?シートの中味を消すだけですので、シートは残したままです。

なんとかがんばってみます。

【32331】Re:チェックボックスの選択
発言  ponpon  - 05/12/12(月) 20:57 -

引用なし
パスワード
   こんばんは。
そういうことであるなら、ヒューマンエラーは必ずあるので
Bookを閉じるときに、すべてのシートのどこかのセルに印を入れておいて
削除するときに、印があれば、削除可、そうでなければ警告ではどうですか?

削除でなく消去でしたね。

消去ならシートを選ぶと思いますので、選んだときに印があれば、何もしない、
印がなければ警告では? 選ぶたびに警告これも煩わしいですね。
なんかいい方法は・・・・う〜ん

識者の登場を待ちましょう。

【32332】Re:チェックボックスの選択
発言  wad  - 05/12/12(月) 21:21 -

引用なし
パスワード
   みなさん こんばんは

こんなのはどうですか?
勘違いならごめんなさい。

Private Sub CommandButton1_Click()
Dim f As Long
Dim myArr As Variant

myArr = Array("Sheet1", "Sheet2", "Sheet3", "Sheet4", "Sheet5", "Sheet6", "Sheet7")

For f = 0 To 6
  If Controls("CHECKBOX" & f + 1).Value = True Then
    Worksheets(myArr(f)).Cells.Clear
  End If
Next

End Sub

【32372】Re:チェックボックスの選択
お礼  ひん  - 05/12/13(火) 15:22 -

引用なし
パスワード
   ponponさま wadさま ありがとうございます。
おかげさまで考えてたことが出来ました。
msgboxを付けて注意を促すことも出来て大満足です。

出来上がったとき一人でにんまりしてしまいました。
感動のあまり叫びそうになってしまった。(^ ^;)

本当に感謝です。ありがとうございました。
全体的には、まだまだ完成出来ないのですが、ひとつハードルを越えたことにより気持ち的に楽になりました。(また詰まったら、懲りずに助言ください。)

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