
お世話になります。
VBA を使用してexcel起動時に 右クリックメニューの行削除や列削除を無効して、下記VBAを作成しました。
しかしながら、起動時(実行時)に
「実行時エラー 5 プロシージャの呼び出し、または引数が不正です。」が出ることがあります。
でないときもあるのですが、
デバック時にとまるところは、毎回変わり(1)~(5)のどれかで止まります。
使用したい環境はexcel2007,excel2003で正常に動くようにしたいのですが、何卒よろしくお願いします。
*************ソース*********************
Private Sub Workbook_Open()
InsertEnabled False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
InsertEnabled True
End Sub
Private Sub InsertEnabled(flg As Boolean)
With Application
(1) Application.CommandBars("Worksheet Menu Bar").Controls("挿入(&I)").Enabled = flg
(2) Application.CommandBars("Cell").Controls("挿入(&I)...").Enabled = flg
(3)Application.CommandBars("Cell").Controls("削除(&D)...").Enabled = flg
(4)Application.CommandBars("Row").Controls("挿入(&I)").Enabled = flg
(5)Application.CommandBars("Row").Controls("削除(&D)").Enabled = flg
.CommandBars.FindControl(, 296).Enabled = flg
.CommandBars.FindControl(, 293).Enabled = flg
End With
End Sub
No.3ベストアンサー
- 回答日時:
とりあえず、私の環境(2003)では
Application.CommandBars("Row")のコントロールに
挿入はありませんでした・・・
削除(&D)も削除(&D)...となっていましたし。
そこで、ちょっと無駄の多い処理になるかもしれませんがこうしてみては?
Private Sub Workbook_Open()
InsertEnabled False
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
InsertEnabled True
End Sub
Private Sub InsertEnabled(flg As Boolean)
Call ControlEnabled(flg, "Worksheet Menu Bar")
Call ControlEnabled(flg, "Cell")
Call ControlEnabled(flg, "Row")
With Application.CommandBars
.FindControl(, 296).Enabled = flg
.FindControl(, 293).Enabled = flg
End With
End Sub
Private Sub ControlEnabled(flg As Boolean, BarName As String)
Dim i As Integer
'指定コマンドバーのコントロールの数だけループし、挿入もしくは削除から
'始まるコントロールを有効/無効化する
With Application.CommandBars(BarName)
For i = 1 To .Controls.Count
If .Controls(i).Caption Like "挿入*" Or .Controls(i).Caption Like "削除*" Then
.Controls(i).Enabled = flg
End If
Next i
End With
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) Excelにて、シート1の行を削除するとシート2のシート1と同じ番号の行も削除したい 3 2022/05/08 04:24
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- Excel(エクセル) エクセルVBAで次の二つを行いたいのですが思うように動きません。どう修正したらよいのでしょうか? 2 2023/04/22 14:55
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
太ってる女とのSEX
-
AVって、本当に挿入してるんで...
-
恋人などと挿入したまま入眠し...
-
女性の方 イクようになったき...
-
40代男性が好むSEXはどんなもの...
-
挿入時、キツっって言いながら...
-
女性の方へ、イクことと女性の...
-
入れてる最中に、『めっちゃ濡...
-
高齢熟女も濡れるんですか?
-
男性は「きじょうい」での前後...
-
処女卒業して3ヶ月の大学生です...
-
風俗嬢って挿入有りで一日いく...
-
直ぐに挿入をせまる彼女
-
女です。高確率で前戯でイッて...
-
手マンと挿入どっちが気持ちい?
-
もう少しでイケそうな時、どん...
-
(女性へ質問)ピストン運動の...
-
前戯で一回イッてもらっていい...
-
女です。 リモコンローターって...
-
挿入のときに力を抜く方法はあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
太ってる女とのSEX
-
40代男性が好むSEXはどんなもの...
-
恋人などと挿入したまま入眠し...
-
AVって、本当に挿入してるんで...
-
女性の方 イクようになったき...
-
女です。高確率で前戯でイッて...
-
もう少しでイケそうな時、どん...
-
挿入時、キツっって言いながら...
-
女性の方へ、イクことと女性の...
-
いきそうでいけない・・・
-
直ぐに挿入をせまる彼女
-
入れてる最中に、『めっちゃ濡...
-
手マンと挿入どっちが気持ちい?
-
前戯で一回イッてもらっていい...
-
手コキとマンコに挿入するのと...
-
初エッチでフェラお願いするの...
-
入ってるかどうかわからない
-
高齢熟女も濡れるんですか?
-
なぜかバックや騎乗位で挿入で...
-
風俗嬢って挿入有りで一日いく...
おすすめ情報