Excel VBA質問箱 IV

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

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


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

【61316】シートの保護とイベントについて 勉強中 09/4/25(土) 17:11 質問[未読]
【61317】Re:シートの保護とイベントについて Abyss 09/4/25(土) 19:53 発言[未読]
【61324】Re:シートの保護とイベントについて 勉強中 09/4/26(日) 17:14 お礼[未読]
【61338】Re:シートの保護とイベントについて ma 09/4/27(月) 21:59 発言[未読]
【61319】Re:シートの保護とイベントについて 真下まゆ 09/4/25(土) 22:31 発言[未読]
【61325】Re:シートの保護とイベントについて 勉強中 09/4/26(日) 17:18 お礼[未読]
【61322】Re:シートの保護とイベントについて りん 09/4/26(日) 14:22 発言[未読]
【61326】Re:シートの保護とイベントについて 勉強中 09/4/26(日) 17:20 お礼[未読]

【61316】シートの保護とイベントについて
質問  勉強中  - 09/4/25(土) 17:11 -

引用なし
パスワード
   下記2点について、いろいろ調べましたがわかりません。
どなたか教えて下さい。

1. シートを保護してますが、
  マクロにより実行された内容は許可してます。
  しかし、マクロで 他のシートへ表をコピーしてますが、
  セルを結合した内容をコピーしている為かエラーに
  なります。 結合セルのコピーも許可出来ないでしょうか?
  下記のように入力してます。
  Worksheets("表").Protect , DrawingObjects:=True, _
  contents:=True, UserInterfaceOnly:=True, AllowFiltering:=True

2. コマンドボタンによる 入力された内容を消去するマクロを作りました。
  しかし、複数のイベントプロシージャ(セル内容に変更があった時に
  起動する)が組み込まれているので 内容が消去された事により、その
  セルのイベントが起動して 消去に時間(何十秒程度です)が掛かります。
  消去 イベントマクロを起動している時には 他のイベントが発生しないように
  一時停止出来ないでしょうか?

どなたか お願いします。

【61317】Re:シートの保護とイベントについて
発言  Abyss  - 09/4/25(土) 19:53 -

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

回答ではありませんが(1)の質問に対してです。

> セルを結合した内容をコピーしている為か

マクロにて運用を今後も思っているのならデータ範囲での
セルの結合はしないのをお勧めします。VBAで操作は
可能だとしても余計な部分まで気を使うことになりますので。

【61319】Re:シートの保護とイベントについて
発言  真下まゆ  - 09/4/25(土) 22:31 -

引用なし
パスワード
   ▼勉強中 さん:

こんばんはm(_ _)m
私も色々勉強中の身分なのですが、勉強の為お邪魔させてくださいm(_ _)m

1. の方は、

Sub Test1()
  With Worksheets("表")
    .Protect , DrawingObjects:=True, _
    contents:=True, UserInterfaceOnly:=True, AllowFiltering:=True
    .Range("A1:B20").Copy Destination:=Worksheets("Sheet2").Range("C1")
  End With
End Sub

A1 〜 B20 の間を適当に結合させておいて、
こぉ〜んな感じで適当にやってみたのですが、
私の方ではエラーになってくれませんでした。
どんな風にされたら、エラーになるのでしょうか?


2. の方は、

Application.EnableEvents = False
内容を消去するマクロ
Application.EnableEvents = True

でいかがでしょうか?

【61322】Re:シートの保護とイベントについて
発言  りん E-MAIL  - 09/4/26(日) 14:22 -

引用なし
パスワード
   勉強中 さん、こんにちわ。

>2. コマンドボタンによる 入力された内容を消去するマクロを作りました。
>  しかし、複数のイベントプロシージャ(セル内容に変更があった時に
>  起動する)が組み込まれているので 内容が消去された事により、その
>  セルのイベントが起動して 消去に時間(何十秒程度です)が掛かります。
>  消去 イベントマクロを起動している時には 他のイベントが発生しないように
>  一時停止出来ないでしょうか?

こっちだけ。

htt p://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=27422;id=excel

戻すのを忘れないでくださいね。

【61324】Re:シートの保護とイベントについて
お礼  勉強中  - 09/4/26(日) 17:14 -

引用なし
パスワード
   Abyss さん:
こんにちわ。
表の見やすさから 結合セルがあったほうが
と思ってましたが、たしかにエラーのもと
となるので他の方法を考えてみます。
ありがとうございます。

【61325】Re:シートの保護とイベントについて
お礼  勉強中  - 09/4/26(日) 17:18 -

引用なし
パスワード
   真下まゆ さん:
こんにちわ。
1.は ブックオープン時にシートの保護をしており、
 他の イベントにて コピーやらセルの結合やら
 複数のイベントプログラムを組んでます。
 シートの保護のプログラム中にコピー・セル結合を
 してないのでエラーになるのかもしれないです。
 もう少し 何が原因か調べてみます。
2.は 早速試してみます。

ありがとうございます。

【61326】Re:シートの保護とイベントについて
お礼  勉強中  - 09/4/26(日) 17:20 -

引用なし
パスワード
   りん さん:
こんにちわ。
アドバイスありがとうございます。
さっそく試してみます。
助かりました。

【61338】Re:シートの保護とイベントについて
発言  ma  - 09/4/27(月) 21:59 -

引用なし
パスワード
   ▼勉強中 さん:
>Abyss さん:
>こんにちわ。
>表の見やすさから 結合セルがあったほうが
>と思ってましたが、たしかにエラーのもと
>となるので他の方法を考えてみます。
>ありがとうございます。


私も、結合セルがあるものをコピー・貼り付けしたときにうまく行かないときがありました。
そこで、考えました。

コピー元 
保護解除
コピー先 セルの結合を解除する
コピー元 範囲選択
コピー先 まずやる順番が大事で先に
 式が入っていれば、形式選択貼り付けで 「数式と数値の書式」 をOKします。
 値だけのときは、「値と数値の書式」をOKします。
 その後、形式選択貼り付けで 「書式」OKします

私は、これで乗り切っています。
たぶん、もっとキチンとしたやり方があるのかもしれませんがセルの結合・罫線とかを残した方がいいとき使えるかもしれません。

記録マクロで、残りますから一度試してみるのも良いかも。

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