Excel VBA質問箱 IV

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

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


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

【44412】繰り返し れいな 06/11/15(水) 17:53 質問[未読]
【44414】Re:繰り返し へっぽこ 06/11/15(水) 18:52 発言[未読]
【44427】Re:繰り返し maverick 06/11/16(木) 0:52 発言[未読]
【44446】Re:繰り返し れいな 06/11/16(木) 18:07 お礼[未読]
【44415】Re:繰り返し maverick 06/11/15(水) 18:53 回答[未読]
【44426】Re:繰り返し maverick 06/11/16(木) 0:51 回答[未読]
【44447】Re:繰り返し れいな 06/11/16(木) 18:22 お礼[未読]

【44412】繰り返し
質問  れいな  - 06/11/15(水) 17:53 -

引用なし
パスワード
   キーボードから読み込んだ数字をR1C3セルに表示し、次に読み込んだ数字をR2C3セルに、その次に読み込んだ数字をR3C3セルに...というように3列1行目のセルから順に下に表示するというのを繰り返したいのです。それで、キーボードから数字の「0」が入力されたらマクロを終了させたいのです。

Sub Macro1()

Do
[             ]
Loop
End Sub

[       ]の中にどんなコードをいれれば良いか教えてください

【44414】Re:繰り返し
発言  へっぽこ  - 06/11/15(水) 18:52 -

引用なし
パスワード
   「0」で終了ではないけど…

こんな感じ?

Sub サンプル()
  Dim 入力値 As String
  Dim 設定行 As Long
  
  設定行 = 0
  
  入力値 = InputBox("未入力で終了します")
  Do Until (入力値 = "")
    設定行 = 設定行 + 1
    Cells(設定行, "C").Value = 入力値
    入力値 = InputBox("未入力で終了します")
  Loop
  
  
End Sub

キーボードから入力といういいまわしが気になる。

【44415】Re:繰り返し
回答  maverick  - 06/11/15(水) 18:53 -

引用なし
パスワード
   i = i + 1: Cells(i, 3).Value = InputBox(i): If Cells(i, 3).Value = 0 Then Exit Do

【44426】Re:繰り返し
回答  maverick  - 06/11/16(木) 0:51 -

引用なし
パスワード
   2行でいけるね。

Cells(i + 1, 3).Value = InputBox(i + 1): If Cells(i + 1, 3).Value = 0 Then Exit Do Else i = i + 1

【44427】Re:繰り返し
発言  maverick  - 06/11/16(木) 0:52 -

引用なし
パスワード
   ▼へっぽこ さん:
>キーボードから入力といういいまわしが気になる。
気にする必要はないかと・・・
記事番号:44358、44345、44277

【44446】Re:繰り返し
お礼  れいな  - 06/11/16(木) 18:07 -

引用なし
パスワード
   ▼へっぽこ さん:
>「0」で終了ではないけど…
>
>こんな感じ?
>
>Sub サンプル()
>  Dim 入力値 As String
>  Dim 設定行 As Long
>  
>  設定行 = 0
>  
>  入力値 = InputBox("未入力で終了します")
>  Do Until (入力値 = "")
>    設定行 = 設定行 + 1
>    Cells(設定行, "C").Value = 入力値
>    入力値 = InputBox("未入力で終了します")
>  Loop
>  
>  
>End Sub
>
>キーボードから入力といういいまわしが気になる。
教えてくださりありがとうございました。ちゃんと、できました。

【44447】Re:繰り返し
お礼  れいな  - 06/11/16(木) 18:22 -

引用なし
パスワード
   ▼maverick さん:
>2行でいけるね。
>
>Cells(i + 1, 3).Value = InputBox(i + 1): If Cells(i + 1, 3).Value = 0 Then Exit Do Else i = i + 1

教えてくださりありがとうございました
助かりました

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