Private Sub Worksheet_Change(ByVal Target As Range)
Dim tbl As Variant
Dim i As Integer
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
tbl = Array("D10", "D11", "E10", "E11", "F10", "F11")
With Worksheets("審査")
For i = 0 To 5
.Range("C" & 26 + i).Value = Range(tbl(i)).Value
If Range(tbl(i)).Value = "" Then
.Range("F" & 26 + i).Value = ""
Else
.Range("F" & 26 + i).Value = "後日図書の提出をお願いいたします。"
End If
Next i
End With
On Error Resume Next
Sheets("消防添").Visible = [R37] = "消防添"
途中省略
Sheets("INDX").Visible = [D2] = "電子申請"
下記のコードもいくつか途中省略しております。
If Range("D2").Value = "紙申請" Then
Call 電図
Else
Call 紙図
End If
If Range("N41").Value = "■" Then
Call 注意1表示
End If
If Range("D7").Value = "計画変更" Then
Call 注意3表示
End If
If Range("N44").Value = "■" Then
Call 注意4表示
End If
If Range("D5").Value = "車庫等:単独" Then
Call 車庫単独
End If
If Range("R55").Value = "車庫注意" Then
Call 車庫単独
End If
If Range("D7").Value = "計画変更" Then
Call 計変画像表示
End If
If Range("Q27").Value = "■" Then
Call 区分図形表示
End If
If Range("D12").Value = "有" Then
Call 消防表示
End If
If Range("F13").Value = "有" Then
Call 浄化槽表示
End If
If Range("F8").Value >= 3 Then
Call 通路
End If
If Range("J16").Value = "消防同意必要" Then
Call 消防貼り付け
End If
If Range("Q2").Value = "■" Then
Call 市町村名コピー
End If
If Range("F3").Value = "旭川市" Then
Call 旭川市図形表示
End If
If Target.Address = "$C$20" Then
Call 審査担当コメント非表示
End If
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
以上となります。
No.4ベストアンサー
- 回答日時:
この処理が動いて欲しいのは、どのセルを変更した場合なのか、そのセルは特定されていますか?
されているなら、そのアドレス以外の場合、Exitさせるようにすれば良いと思います。
たとえばSelect Caseを使った場合
Private Sub Worksheet_Change(ByVal Target As Range)
の次に
Select Case Target.Address
Case "$C$20", "$R$37", "$N$41",・・・・・
GoTo continue
Case Else
Exit Sub
End Select
continue:
というような感じになるかと。
No.3
- 回答日時:
最初の一行、つまり
Private Sub Worksheet_Change(ByVal Target As Range)
の次に
If Target.Address <> "$C$20" Then End Sub
を入れてみて下さい。
No.2
- 回答日時:
こんばんは
処理に時間がかかるのなら、対策としては、
・ 無駄な処理は行わないように制御する
・ 処理の効率を良くして高速化する
くらいでしょうか?
質問文に提示されていない部分が多々あるので内容が不明ですけれど、提示部分と同じような内容なら、シートに関数で設定しておく方がよさそうに思われます。
シート関数であれば、
・エクセルが無駄な処理は行わないように制御してくれる
・関数の方が下手なマクロよりもレスポンスが速い
可能性が高いので、処理効率が良くなることを期待できます。
『関数を使うとユーザの誤操作で上書きされる恐れがある』と言うのであれば、その部分に保護をかけておけば、壊されることもなくなります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 4 2023/05/26 10:43
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2024/03/06 13:07
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2024/03/28 13:38
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
- Visual Basic(VBA) VBAコードについて教えてください、 下記のコードを一つにまとめる方法を教えてください セルF18に 2 2024/03/06 20:11
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Excel(エクセル) vba userformで漢字を全角カタカナに 2 2022/07/24 15:38
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) 配列の勉強をしています。使用する変数の意味、検索条件の書き方が難しいです。 2 2022/09/15 14:06
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
VBA 複数条件の分岐処理の上手な方法
Visual Basic(VBA)
-
VBAで大量のファイルをシート名ごとに転記やらいろいろしたい!
Visual Basic(VBA)
-
VBAに詳しい方教えてください。
Visual Basic(VBA)
-
-
4
Vba SelStart、SelLen教えてください教えてください
Visual Basic(VBA)
-
5
エクセルVBAについて
Visual Basic(VBA)
-
6
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
7
vba 削除
Visual Basic(VBA)
-
8
ExcelのVBAコードについて教えてください。
Visual Basic(VBA)
-
9
Excelのマクロについて教えてください。 下記のマクロを実行すると 別ブックに指定セル値をコピーで
Visual Basic(VBA)
-
10
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
11
エクセルのマクロについて教えてください。
Visual Basic(VBA)
-
12
VBA listBoxから
Visual Basic(VBA)
-
13
VBA初心者 Ctrl+での操作、ボタンに登録での操作
Visual Basic(VBA)
-
14
VBAの計算で@が出てしまう件
Visual Basic(VBA)
-
15
Excelのマクロについて教えてください。
Visual Basic(VBA)
-
16
Vba 実数および実数タイプの変数について教えてください
Visual Basic(VBA)
-
17
VBA レジストリの値の読み方について教えてください
Visual Basic(VBA)
-
18
エクセルについて
Visual Basic(VBA)
-
19
VBAなくなるの?
Visual Basic(VBA)
-
20
VBA一覧取得 再投稿
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba アクティブシートの名前変...
-
Excelのマクロについて教えてく...
-
VBAコードについて教えてくださ...
-
エクセルVBAコードで教えて下さ...
-
Excelのマクロについて教えてく...
-
VBA 別ブックからコピペしたい...
-
エクセルのマクロについて教え...
-
Outlookにて既にウィドウ単体で...
-
ユーザーフォームに別シートか...
-
Outlookの「受信日時」「件名」...
-
FileCopy時のエラー
-
VB.NETでボタンのクリックイベ...
-
Excelのマクロについて教えてく...
-
VBAなくなるの?
-
VBA 別ブックから条件に合うも...
-
ExcelのVBAコードを教えて頂け...
-
Excelのマクロについて教えてく...
-
Excelのマクロについて教えてく...
-
エクセルVBA
-
ExcelのVBAコードについて教え...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで大量のファイルをシート名...
-
VBA レジストリの値の読み方に...
-
Excelのマクロについて教えてく...
-
ユーザーフォームに別シートか...
-
VBAの計算で@が出てしまう件
-
エクセルVBAについて
-
Vba 実数および実数タイプの変...
-
【ExcelVBA】値を変更しながら...
-
VBA一覧取得 再投稿
-
VBA指定行削除
-
エクセルVBAについて
-
VBA ユーザーフォーム ボタンク...
-
VBA 何かしら文字が入っていたら
-
エクセルについて
-
2つのマクロでチェックボックス...
-
【マクロ】1つのマクロの中に...
-
ExcelのVBAコードについて教え...
-
VB.net(VB)で、フォームにExcel...
-
Vba SelStart、SelLen教えてく...
-
Excel-VBAのmsgBox()の不思議
おすすめ情報
ごめんなさい
質問の記載を忘れてました。
質問は
下記のコードをマクロ設定ブックの指定シート「受付」に設定しております。
コードにはシート内のセル値に応じてシートが表示されたり、マクロが実行されたりしますが、
Private Sub Worksheet_Change(ByVal Target As Range)
を使用している為、コードの設定を実行できるセル値を変更するたびに
常にシートイベントが走っており、
セルを変更するたびに処理に時間がかかっております。
この問題を解決できる方法を教えてください。
となります。
宜しくお願い致します。
回答ありがとうございます。
マクロの場合は解決いたしました。
シート表示の場合
例えば
Sheets("消防添").Visible = [R37] = "消防添"
の場合はどのように設定すれば良いでしょうか。
何度も申し訳ありません。
宜しくお願い致します。