回答編集履歴
1
修正
answer
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
**※初期回答から少し修正しました.回答修正箇所は【回答修正】とつけました.**
|
1
2
|
###回答
|
2
3
|
プログラム修正させて頂きました。
|
3
4
|
お困りの以下の2点を追加しました。
|
@@ -15,7 +16,8 @@
|
|
15
16
|
1.商品名と期間で抽出候補を抽出
|
16
17
|
2.抽出候補から[抽出][削除]の条件で絞り込んで、終了
|
17
18
|
2-1.[抽出][削除]が未入力の場合、1の条件に合うものを全て出力
|
19
|
+
2-2.[抽出][削除]どちらか一方入力の場合、1の条件からさらに絞り込み出力【回答修正】
|
18
|
-
2-
|
20
|
+
2-3.[抽出][削除]が両方入力されている場合は、[抽出]のみ条件で出力
|
19
21
|
([抽出][削除]両方入力することはないと思いますが・・・)
|
20
22
|
|
21
23
|
[抽出・削除]項目の考え方が正しいか分かりませんが、間違ってたら教えてください。
|
@@ -44,8 +46,10 @@
|
|
44
46
|
Dim WF As Object
|
45
47
|
Set WF = WorksheetFunction
|
46
48
|
Set dstSheet = ThisWorkbook.Worksheets("抽出条件")
|
47
|
-
If Not Evaluate("=ISREF(抽出先シート!A1)") Then Sheets.Add.Name = "抽出先シート"
|
49
|
+
'If Not Evaluate("=ISREF(抽出先シート!A1)") Then Sheets.Add.Name = "抽出先シート" '//[削除]【回答修正】
|
48
50
|
'Set Ns = Worksheets("抽出先シート") '//[削除]
|
51
|
+
'//F4で指定したシートがない場合は作成【回答修正】
|
52
|
+
If Not Evaluate("=ISREF(" + dstSheet.Range("F4").Value + "!A1)") Then Sheets.Add.Name = dstSheet.Range("F4").Value '//[追加]
|
49
53
|
Set Ns = Worksheets(dstSheet.Range("F4").Value) '//[追加]抽出先シートはセルF4の値に基づく
|
50
54
|
|
51
55
|
Ns.UsedRange.Clear '//抽出先シートのデータを削除
|