Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12338 / 13645 ツリー ←次へ | 前へ→

【11027】inputboxメソッドでのキャンセル処理 みぃこ 04/2/24(火) 17:01 質問
【11029】Re:inputboxメソッドでのキャンセル処理 アイエネス 04/2/24(火) 17:25 回答
【11031】Re:inputboxメソッドでのキャンセル処理 Jaka 04/2/24(火) 17:39 回答
【11035】Re:inputboxメソッドでのキャンセル処理 アイエネス 04/2/24(火) 18:40 発言

【11027】inputboxメソッドでのキャンセル処理
質問  みぃこ E-MAIL  - 04/2/24(火) 17:01 -

引用なし
パスワード
   初めて投稿させていただきます。inputboxメソッドを使って範囲の取得をするようにしてみました。うまく動いてくれたので、キャンセルボタンがクリックされた時に、マクロを中止する文を追加しようと思ったのですが、set〜の次の行に「If myrange = False Then Exit Sub」という文を追加すると、「オブジェクトが必要です」または「型が違います」というエラーになります。取得する対象が範囲の場合、if文ではどう指定すればいいのかご存知の方、ぜひご教授ください。


   Dim myrange As Range
    With Range("D6:H133")
    Set myrange = Application.InputBox(prompt:="着色するセル範囲を選択してください", Title:="小計欄の着色", Type:=8)
    myrange.Interior.ColorIndex = 34
    End With

【11029】Re:inputboxメソッドでのキャンセル処理
回答  アイエネス  - 04/2/24(火) 17:25 -

引用なし
パスワード
   こんにちは

以下のとおりでいかがでしょう?

   Dim myrange As Range
    With Range("D6:H133")
    On Error Resume Next
    Set myrange = Application.InputBox(prompt:="着色するセル範囲を選択してください", Title:="小計欄の着色", Type:=8)
    If myrange.Count = 0 Then
      Exit Sub
    End If
    myrange.Interior.ColorIndex = 3
    End With

【11031】Re:inputboxメソッドでのキャンセル処理
回答  Jaka  - 04/2/24(火) 17:39 -

引用なし
パスワード
   Dim myrange As Range
  'With Range("D6:H133")  ← これなんですか?
  On Error Resume Next
  Set myrange = Application.InputBox(prompt:="着色するセル範囲を選択してください", Title:="小計欄の着色", Type:=8)
  If myrange Is Nothing Then Exit Sub
  myrange.Interior.ColorIndex = 34
  On Error GoTo 0
  'End With

【11035】Re:inputboxメソッドでのキャンセル処理
発言  アイエネス  - 04/2/24(火) 18:40 -

引用なし
パスワード
   推測ですが、おそらく着色範囲をD6〜H133に指定するということなのではないでしょうか?例えばA1を選択しても色が着かないようにとか。
間違っていたらごめんなさい。

>Dim myrange As Range
>  'With Range("D6:H133")  ← これなんですか?
>  On Error Resume Next
>  Set myrange = Application.InputBox(prompt:="着色するセル範囲を選択してください", Title:="小計欄の着色", Type:=8)
>  If myrange Is Nothing Then Exit Sub
>  myrange.Interior.ColorIndex = 34
>  On Error GoTo 0
>  'End With

12338 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free