Excel VBA質問箱 IV

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

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


13421 / 13644 ツリー ←次へ | 前へ→

【5493】よろしくお願いします。 Starmine☆ 03/5/15(木) 23:12 質問
【5494】Re:よろしくお願いします。 Nakamura 03/5/15(木) 23:35 回答
【5496】Re:よろしくお願いします。 ichinose 03/5/15(木) 23:52 発言
【5495】Re:よろしくお願いします。 ichinose 03/5/15(木) 23:50 回答
【5497】素早いご回答ありがとうございます。 Starmine☆ 03/5/16(金) 0:07 お礼

【5493】よろしくお願いします。
質問  Starmine☆  - 03/5/15(木) 23:12 -

引用なし
パスワード
   For文での繰り返し回数をユーザーがInputBoxに入力した値にしたい場合はどのようにするのがよいでしょうか?

また、(上のとは別の話で)InputBoxに入力した値を引数として、セルのアドレスに指定してあげる事はできるでしょうか?
ex)InputBoxに8を入力した場合は、アクティブなセルから下に8個選択する


みなさまよろしくお願い致します。

【5494】Re:よろしくお願いします。
回答  Nakamura  - 03/5/15(木) 23:35 -

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

こんな感じでどうでしょう?

Sub test()

  Dim i As Integer, ii As Integer
  
  ii = Application.InputBox("繰り返し回数を入力してください。")
  
  For i = 1 To ii
  
    '処理
    
  Next i
  
End Sub

Sub test1()

  Dim i As Integer
  On Error Resume Next
  
  i = Application.InputBox("選択セル数を入力してください。")
  
  With ActiveCell
  
    Range(.Address, .Offset(i - 1).Address).Select
  
  End With
End Sub

それでは

【5495】Re:よろしくお願いします。
回答  ichinose  - 03/5/15(木) 23:50 -

引用なし
パスワード
   ▼Starmine☆ さん:
こんばんは。
Inputboxには、ApplicationオブジェクトのメソッドとしてのInputboxと
関数としてのInputboxがありますから、Helpで確認して下さい。

>For文での繰り返し回数をユーザーがInputBoxに入力した値にしたい場合はどのようにするのがよいでしょうか?
'================================================
Sub Repeat_Sample()
  Dim 繰り返し数 As Variant
  Dim x As Long
  繰り返し数 = Application.InputBox(prompt:="繰り返し数を指定してください", Type:=1)
  If VarType(繰り返し数) <> vbBoolean Then
    x = 0
    For idx = 1 To 繰り返し数
     'この中に繰り返し実行する処理コードを記述します 
     '↓は例です
     x = x + idx
     '
     Next idx
    MsgBox "1から" & 繰り返し数 & "までの総和は:" & x
  Else
    MsgBox "処理はキャンセルされました"
    End If
End Sub

>また、(上のとは別の話で)InputBoxに入力した値を引数として、セルのアドレスに指定してあげる事はできるでしょうか?
>ex)InputBoxに8を入力した場合は、アクティブなセルから下に8個選択する

'==========================================================
Sub Select_Sample()
  Dim 下選択数 As Variant
  下選択数 = Application.InputBox(prompt:="選択数を指定してください", Type:=1)
  If VarType(下選択数) <> vbBoolean Then
    ActiveCell.Resize(下選択数, 1).Select
    MsgBox "アクティブなセルから下に" & 下選択数 & "個選択しました"
  Else
    MsgBox "処理はキャンセルされました"
    End If
End Sub

でどうでしょうか。

【5496】Re:よろしくお願いします。
発言  ichinose  - 03/5/15(木) 23:52 -

引用なし
パスワード
   ▼Nakamura さん:
回答している事に気がつきませんでした。
すみません。

【5497】素早いご回答ありがとうございます。
お礼  Starmine☆  - 03/5/16(金) 0:07 -

引用なし
パスワード
   お2人のを参考にして作成してみたいと思います。
ご回答ありがとうございます。

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