• ベストアンサー

セルに順番に数値を入力するマクロ

ロータス123で作ったマクロをエクセル用に作り直しています。 L123では{CELECT C3}{?}~ でC3のセルが入力待ちとなりますが、エクセルではどうするのかさっぱり解りません。その他のことはマニュアル本でなんとか解決していますが、ここで行きずまってます。どなたか、お助けください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#29107
noname#29107
回答No.3

Excelでは、マクロの途中で、セルに値をセットしたい場合は、inputbox関数を使用するのが普通です。 たとえば、 Range("C3") = InputBox("入力して下さい", "C3の値") のようにします。

drapapa
質問者

お礼

ありがとうございました。Range・Select・InputBoxを使ってなんとか順番にセルに入力できるようになりました。Boxがちょっとうるさいのですが、データとデータの間のコマンドも順に実行できます。皆様のご親切に感謝いたします。

drapapa
質問者

補足

申し訳ありません。またまた言葉足らずでした。入力したいセル(入力データ)が沢山あるので、InputBoxを使わないで直接セルに入力したいのです。これをどうしてもマクロでやりたいのです。ロータス123(R5)では出来ました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

下記を参考に。 Sub test01() For i = 3 To 20 x = InputBox("セルC"&i&"の値を入力") Cells(i, "C") = x 'その行のC列に値をセット 'その後xを使って処理をし,yを算出する Cells(j, "H") = y '例えばJ行H列のセルにyをセット Next i End Sub

drapapa
質問者

お礼

ありがとうございました。rebellion様に申し上げたよな方法で先へ進めそうです。ご親切に感謝いたします。

  • Sikabu
  • ベストアンサー率20% (24/116)
回答No.2

>セルC3に数値を入力した後、その数値を使って別の場所から数値を引っ張り出し別のセルに格納し、C4のセルに行き数値を入力してまた同じことを繰り返したいのです。 別の場所、別のセル、それは、同じシート内でしょうか?位置が固定されていないでしょうか??? KeyPress イベントを使用して試してください。

drapapa
質問者

お礼

ご回答ありがとうございます。KeyPressイベントをVBAのHelpでみましたが、良く解りませんでした。

回答No.1

ロータスはまったく経験が無いのでぜんぜんはずしてたらすみません。「入力待ち」ってそのセルをアクティブにすればいいんですよね? だったら、 Sub TEST() Sheets("Sheet1").Activate Sheets("Sheet1").Range("C3").Activate End Sub じゃだめですか?

drapapa
質問者

補足

早速のお知恵ありがとうございます。言葉足で申し訳ありません。 セルC3に数値を入力した後、その数値を使って別の場所から数値を引っ張り出し別のセルに格納し、C4のセルに行き数値を入力してまた同じことを繰り返したいのです。 数値入力が終わるまで(リターンキーが押されるまで)次のコマンドを実行しないようにしたいのです。 よろしくお願い致します。

専門家に質問してみよう