- 締切済み
エクセルで数値データの早い入力は?
エクセル2000で膨大なデータを入力しています。 2桁の数値が延々続くものなのですが、今はテンキーで 「6」「4」「Enter」 「5」「8」「Enter」…のように入力しています。 これを「Enter」を押さなくても入力できるように、つまりデータの数字2つを押しただけで下のセルへ移動していくようにしたいのですが、どうすればいいのでしょうか? いろいろ探して試したのですがいい方法がなく、入力規則→文字列(長さ指定)を試してもうまくいきません。 どうかよろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- misaki02
- ベストアンサー率66% (4/6)
分かりづらくてすいません。 下のように、ユーザーフォームの指定から Private Sub UserForm_Initialize() はじまるものは、モジュールではなく フォームです。 プログラムを書く場所は モジュールのほかに シート、ブックと フォームにも書けます。 方法は、ユーザーフォームを挿入します。 好みのものに作成して、 作ったフォームをダブルクリックすると コードを書く画面が表示されます。 通常、フォームはそれぞれの 「イベント」というものを一つの単位として 動きます。イベントはたとえば フォームにあるボタンを「押した時」 のように動作のタイミングをいいます。 時間のある時に、試しにひとつ作ってみることを おすすめします。 フォームを挿入、気に入るように部品を配置する コードの記述は、本を見ながら。 少し時間は必要だと思いますが 応用がきいて面白いと思います。ぜひ。 今回のものは、このプログラムの記述用に作った フォームをもとに作成しているものなので モジュールのように、コードだけ貼り付けても 動きません。先にフォームを作成して 加えて、コードの中で使われている「名称」とも 同期がとれていないとダメです。 なので簡単には行かないですね。 単語の長さは If 単語長 > 1 Then のところで 1以上だったら(2だったら) やめて次の行にいきましょう という内容です。 変えてないので分かりませんが この辺を変えるといいと思います。 ただ、フォームの入力も 桁数制限したような気がします。 これも、もしかすると簡単ではないかもしれません。 大変申し訳ないのですが コードを分析してもらえますか。 または、参考にして別物を作って下さい。 今回のためだけの つもりだったので 汎用性は考えてませんでした。 すいません。 がんばって下さい。
- misaki02
- ベストアンサー率66% (4/6)
シートのイベントか 下のフォームで可能です。 マクロです。 テキストボックスを4つ配置したものです。 Private Sub UserForm_Initialize() TextBox2.Value = ActiveCell.Row TextBox3.Value = ActiveCell.Column End Sub Private Sub TextBox1_Change() Dim 行 As Integer Dim 列 As Integer Dim 入力単語 As String 行 = TextBox2.Value 列 = TextBox3.Value 入力単語 = TextBox1.Value Cells(行, 列) = 入力単語 単語長 = LenB(入力単語) - 1 If 単語長 > 1 Then TextBox4.Value = 入力単語 TextBox2.Value = TextBox2.Value + 1 TextBox1.Value = Null Cells(TextBox2.Value, 列).Select End If End Sub
補足
misaki02さん、ありがとうございます! もしよければ上のNo.4のマクロの実行の仕方も教えていただけないでしょうか? 今後、2桁以外に1桁や3桁のデータも発生する可能性があるので、その時には自分でアレンジしたいと思っています。 Visual Basic Editorに標準モジュールを挿入して、上のマクロをすべてコピー・貼付けしたのですが、うまくいきませんでした。 私はまったくのマクロ初心者なので、きっと何かトンチンカンなことをしているのだろうと思います。 他の人の質問ページも調べてみたりしましたが、よくわかりませんでした。 どうかよろしくお願いします。
- sevasu
- ベストアンサー率25% (9/35)
やはり、Enterで確定しなくては、次のセルに移らないようです。 矢印でもいいですけど...
お礼
そうですよね。Enterや矢印を押さないとダメみたいですよね。 一緒に考えて下さってありがとうございます。
お礼
misaki02さん、いろいろとありがとうございました。 教えていただいたように、あとは自分でチャレンジしてみます。 当分は作っていただいたマクロを使って仕事ができますので、その間に少しずつ勉強したいと思います。 本当にお手間を取ってくださってありがとうございました。 がんばってみます!