電子書籍の厳選無料作品が豊富!

先日来より、ここで質問をさせて頂いておりますが、皆様の回答を頂きましたが、
解決に至っておりませんので、改めて質問をさせて頂きます。
作業ブックのシート名「審査」に下記のコードを設定しております。
このブックを使用する手順として、一番産所にセル「F18」をプルダウン選択し、文字を表示させて、作業を進めておりますが、「F18」に「確認申請」を選択するとその後、コードの内、下記のコードが実行できません。
If Target.Address = "$F$15" Then
Call 担当者情報総合
End If
If Target.Address = "$D$18" Then
Call 審査保存1
End If
「F18」に「確認申請」以外を選択するとシートに設定しているすべてのコードが順調に実行できます。
「F18」に「確認申請」を選択すると
If Range("$F$18").Value = "確認申請" Then
Call 確認シートコピー
End If
が実行されますが、このコードに問題があるのでしょうか。
マクロ「確認シートコピー」は
Sub 確認シートコピー()
Call 確認用シート表示
Dim i As Integer
i = 1
Do While i > 0
i = i + 1
If i > 1 Then
Exit Do
End If
Debug.Print i
Loop
Sheets("確認申請シート").Select
Range("B1:I52").Select
Selection.Copy
Sheets("質疑").Select
Range("B1:I52").Select
ActiveSheet.Paste
ActiveWindow.SmallScroll Down:=0
Sheets("確認申請シート").Select
ActiveWindow.ScrollColumn = 9
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 13
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 15
ActiveWindow.ScrollColumn = 16
ActiveWindow.ScrollColumn = 17
ActiveWindow.ScrollColumn = 18
ActiveWindow.ScrollColumn = 20
Range("AC24:AC52").Select
Selection.Copy
Sheets("質疑").Select
ActiveWindow.SmallScroll ToRight:=21
Range("AC24:AC52").Select
ActiveSheet.Paste
ActiveWindow.ScrollColumn = 21
ActiveWindow.ScrollColumn = 14
ActiveWindow.ScrollColumn = 12
ActiveWindow.ScrollColumn = 1
Call 確認用シート非表示
Call F行調整
Range("F15").Select
End Sub
です。
シート名「審査」の全体のコードは
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("$F$18").Value = "フラット設計審査_標準計算" Then
Call フラットシート表示
End If
If Range("$F$18").Value = "フラット設計審査_仕様基準" Then
Call フラットシート表示
End If
If Target.Address = "$F$18" Then
Call 担当者メッセージ
End If
If Target.Address = "$F$15" Then
Call 担当者情報総合
End If
If Range("$F$18").Value = "確認申請" Then
Call 確認申請関係シート表示
End If
If Range("$F$18").Value = "確認申請" Then
Call 確認シートコピー
End If
If Range("$F$18").Value = "確認申請" Then
Call 電子行政選択表示
End If
If Range("$F$18").Value = "確認申請" Then
Call 行政メッセージ
End If
If Target.Address = "$D$18" Then
Call 審査保存1
End If
End Sub
以上となります。
「F18」に「確認審査」を表示させても全てのコードが上手く行くように解決できる方法を教えてください。宜しくお願い致します。

A 回答 (1件)

とりあえず、Targetという変数はWorksheet_Changeの引数としてしか定義されていないので、このままだと「確認シートコピー」で参照できません。


Sub 確認シートコピー() を Sub 確認シートコピー(Target As Range)とし、
Call 確認シートコピー(Target) で呼び出せばTargetを引き渡すことができます。
なお、全体を確認したわけではないので、それで動くかどうかは不明です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
早速試してみます。

お礼日時:2024/03/06 15:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A