回答編集履歴

1

修正

2019/12/11 04:00

投稿

KazuSaka
KazuSaka

スコア640

test CHANGED
@@ -1,3 +1,5 @@
1
+ **※初期回答から少し修正しました.回答修正箇所は【回答修正】とつけました.**
2
+
1
3
  ###回答
2
4
 
3
5
  プログラム修正させて頂きました。
@@ -32,7 +34,9 @@
32
34
 
33
35
  2-1.[抽出][削除]が未入力の場合、1の条件に合うものを全て出力
34
36
 
37
+ 2-2.[抽出][削除]どちらか一方入力の場合、1の条件からさらに絞り込み出力【回答修正】
38
+
35
- 2-.[抽出][削除]が両方入力されている場合は、[抽出]のみ条件で出力
39
+ 2-.[抽出][削除]が両方入力されている場合は、[抽出]のみ条件で出力
36
40
 
37
41
  ([抽出][削除]両方入力することはないと思いますが・・・)
38
42
 
@@ -90,10 +94,14 @@
90
94
 
91
95
  Set dstSheet = ThisWorkbook.Worksheets("抽出条件")
92
96
 
93
- If Not Evaluate("=ISREF(抽出先シート!A1)") Then Sheets.Add.Name = "抽出先シート"
97
+ 'If Not Evaluate("=ISREF(抽出先シート!A1)") Then Sheets.Add.Name = "抽出先シート" '//[削除]【回答修正】
94
98
 
95
99
  'Set Ns = Worksheets("抽出先シート") '//[削除]
96
100
 
101
+ '//F4で指定したシートがない場合は作成【回答修正】
102
+
103
+ If Not Evaluate("=ISREF(" + dstSheet.Range("F4").Value + "!A1)") Then Sheets.Add.Name = dstSheet.Range("F4").Value '//[追加]
104
+
97
105
  Set Ns = Worksheets(dstSheet.Range("F4").Value) '//[追加]抽出先シートはセルF4の値に基づく
98
106
 
99
107