過去ログ

                                Page     269
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼InputBoxにて・・・  いぬだわん 02/10/29(火) 17:46
   ┗Re:InputBoxにて・・・  つん 02/10/29(火) 18:09
      ┗Re:InputBoxにて・・・  いぬだわん 02/10/29(火) 20:42
         ┗ガンバルみたいな処理  ぴかる 02/10/29(火) 21:14
            ┗Re:ガンバルみたいな処理2  つん 02/10/29(火) 23:32
               ┗Re:ガンバルみたいな処理2  いぬだわん 02/10/30(水) 9:56

 ───────────────────────────────────────
 ■題名 : InputBoxにて・・・
 ■名前 : いぬだわん
 ■日付 : 02/10/29(火) 17:46
 -------------------------------------------------------------------------
   こんにちは。
いつもいつも質問ばかりですみません。

下記のようなWorkSheetがあるとします。

A  B C D(列)
1/1 1 9 5
1/2 2 5 8
1/3 6 8 7
1/4 8 9 7
1/5 7 8 9

A列の一部「だけ」をInputBoxにて範囲指定することは可能でしょうか。
仮にB〜D列の指定や、A列は入っていてもB〜D列が混ざっていると
エラー表示できるようなことが可能でしょうか。

(途中まで考えたので、記しておきます)
'---
Sub test()

  Dim myRange As Range
  Dim strM As String
  Dim strT As String
  
  strM = "範囲を指定してください。"
  strT = "範囲指定"
  
  Set myRange = Application.InputBox(prompt:=strM, Title:=strT, Type:=8)
  
  MsgBox myRange.Address '確認のためのMsgBox
  
End Sub
'---
わかる方がいらっしゃればご教授お願いします。
 ───────────────────────────────────────  ■題名 : Re:InputBoxにて・・・  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/10/29(火) 18:09  -------------------------------------------------------------------------
   いぬだわん さん、こんにちは

>仮にB〜D列の指定や、A列は入っていてもB〜D列が混ざっていると
>エラー表示できるようなことが可能でしょうか。

>Sub test()
>
>  Dim myRange As Range
>  Dim strM As String
>  Dim strT As String
>  
>  strM = "範囲を指定してください。"
>  strT = "範囲指定"
>  
>  Set myRange = Application.InputBox(prompt:=strM, Title:=strT, Type:=8)

  If myRange.Column <> 1 Or myRange.Columns.Count > 1 Then
    MsgBox "A列のみを指定してください"
    Exit Sub
  End If

>  
>  MsgBox myRange.Address '確認のためのMsgBox
>  
>End Sub

こんな感じでどうでしょうか?
実際は、またインプットボックスを出して、正しい値が入るまでガンバルみたいな処理がええんかな?と思いますが、まあとりあえず・・・
 ───────────────────────────────────────  ■題名 : Re:InputBoxにて・・・  ■名前 : いぬだわん  ■日付 : 02/10/29(火) 20:42  -------------------------------------------------------------------------
   ▼つん さん:
こんばんは。

>正しい値が入るまでガンバルみたいな処理がええんかな?と思いますが、

↑すみません。この返答、大爆笑してしまいました。

早速の回答ありがとうございました。
うまくできました。
 ───────────────────────────────────────  ■題名 : ガンバルみたいな処理  ■名前 : ぴかる  ■日付 : 02/10/29(火) 21:14  -------------------------------------------------------------------------
   いぬだわんさん、つんさん、こんばんは。

>>正しい値が入るまでガンバルみたいな処理がええんかな?と思いますが、
>
>↑すみません。この返答、大爆笑してしまいました。
ガンバルみたいな処理ってこんなん?。どやろ?

Sub ガンバル処理()

Dim myRange1 As String
Dim myRange2 As Range
Dim コメント As String
 
  On Error GoTo errout
  コメント = "選択は、A列のみ有効だよ!"
  myRange1 = Selection.Address
やりなおし:
  Set myRange2 = Application.InputBox(Prompt:=コメント, Default:=myRange1, Type:=8)
  If myRange2.Column <> 1 Or myRange2.Columns.Count > 1 Then
    コメント = "やりなおし! A列だけだぞぉ!"
    GoTo やりなおし
  End If
errout:
  
End Sub
 ───────────────────────────────────────  ■題名 : Re:ガンバルみたいな処理2  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/10/29(火) 23:32  -------------------------------------------------------------------------
   ぴかる さん、こんばんは〜

>ガンバルみたいな処理ってこんなん?。どやろ?
おお!なるほど。
私は、こんな感じかな?って思ってました。どやろ?


Sub ガンバル処理2()

  Dim myRange As Range
  Dim strM As String
  Dim strT As String
  Dim blnFlag As Boolean

  strM = "範囲を指定してください。"
  strT = "範囲指定"

  blnFlag = False
  
  Do While blnFlag = False
    Set myRange = Application.InputBox(prompt:=strM, Title:=strT, Type:=8)
  
    If myRange.Column <> 1 Or myRange.Columns.Count > 1 Then
      MsgBox "A列のみを指定してください"
    Else
      MsgBox myRange.Address '確認のためのMsgBox
      blnFlag = True
    End If
  Loop

  Set myRange = Nothing
End Sub
 ───────────────────────────────────────  ■題名 : Re:ガンバルみたいな処理2  ■名前 : いぬだわん  ■日付 : 02/10/30(水) 9:56  -------------------------------------------------------------------------
   つん さん、ぴかる さん、こんにちは。

知らない間にこんなに盛り上がっているなんて・・・(笑)

ありがとうございます。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 269