回答編集履歴
2
修正
answer
CHANGED
@@ -9,14 +9,7 @@
|
|
9
9
|
単に変数の型をVariant型にするだけでは、
|
10
10
|
「オブジェクト」を変数に代入できません。
|
11
11
|
|
12
|
-
つまり、
|
13
|
-
> outputcell = Application.InputBox("セルを選択してください", , , , , , , 8)
|
14
|
-
|
15
|
-
は、
|
16
|
-
Let outputcell = Application.InputBox("セルを選択してください", , , , , , , 8).Value
|
17
|
-
であろうとエクセルんが省略されている文言を補完して、命令を受け取っています。
|
18
|
-
|
19
|
-
つまり、Set outputcell = Application.InputBox("セルを選択してください", , , , , , , 8)
|
12
|
+
つまり、Set outputcell = Application.InputBox("セルを選択してください", , , , , , , 8)
|
20
13
|
こうかかないといけません。
|
21
14
|
が、キャンセルを押すと、Falseという論理値が返ってくるので、
|
22
15
|
エラーになりますよね。
|
1
修正
answer
CHANGED
@@ -35,12 +35,11 @@
|
|
35
35
|
Public Sub test()
|
36
36
|
Dim outputcell As Range
|
37
37
|
|
38
|
-
'outputcell = Application.InputBox("セルを選択してください", , , , , , , 8)
|
39
|
-
|
38
|
+
Application.DisplayAlerts = False '空でOKしたときの的外れなメッセージの表示を抑制
|
40
|
-
|
41
39
|
On Error Resume Next
|
42
40
|
Set outputcell = Application.InputBox("セルを選択してください", , , , , , , 8).Cells
|
43
41
|
On Error GoTo 0
|
42
|
+
Application.DisplayAlerts = True
|
44
43
|
|
45
44
|
If outputcell Is Nothing Then
|
46
45
|
MsgBox "キャンセルしました。"
|