teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

修正

2019/07/13 01:17

投稿

mattuwan
mattuwan

スコア2167

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).Cells
12
+ つまり、Set outputcell = Application.InputBox("セルを選択してください", , , , , , , 8)
20
13
  こうかかないといけません。
21
14
  が、キャンセルを押すと、Falseという論理値が返ってくるので、
22
15
  エラーになりますよね。

1

修正

2019/07/13 01:17

投稿

mattuwan
mattuwan

スコア2167

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
- 'Let outputcell = Application.InputBox("選択してください", , , , , , , 8).Value
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 "キャンセルしました。"