
下記の表があり、InputBoxで入力するように作成しています。その際に、データを入力がされたら自動でナンバーを振るようにしたいのですが、どのように記述していいのかわからなく・・・
どなたか教えていただければと思います。
下記のコードはNo.が入っている前提のコードです。
Do While ActiveCell.Offset(0, -1).Value <> "" の個所をどのように記述したらいいのでしょうか?
初心者で申し訳ございませんがよろしくお願いいたします。
Sub 自動でナンバー振りたい()
Dim nyuryoku As String
If Range("C5").Value = "" Then
Range("C5").Select
Else
Range("C4").Select
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Select
End If
Do While ActiveCell.Offset(0, -1).Value <> ""
nyuryoku = InputBox("日付を入力してください" & Chr(10) & _
"入力を終了する場合にはabcと入力します", , , 200, 200)
If nyuryoku = "abc" Or nyuryoku = "" Then
Exit Do
Else
ActiveCell.Value = nyuryoku
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = InputBox("得意先名を入力してください", , , 200, 200)
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = InputBox("商品名を入力してください", , , 200, 200)
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = InputBox("数量を入力してください", , , 200, 200)
ActiveCell.Offset(1, -3).Select
End If
Loop
Windows("第5章.xlsm:1").Activate
ActiveWindow.Close
ActiveWindow.WindowState = xlMaximized
Range("A1").Select
End Sub

A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは
表題への直接の回答ではありませんが、
処理についてVBAで行う合理性が無いように思います
VBA処理中に挟み込むにしても・・どうでしょう?
InputBoxの使い方としても入力値を直接セルに書き込むような場合、
手数がかかるだけのような気がしますね
使い方として(一例)InputBoxの入力値をチェックして変数に代入して値を処理、結果をセルに書き出す・・・ような使い方なら
今回は、関数や入力規則、どうしてもVBAでならシートイベントなどを使うのが良いと思います
表もテーブルで作成した方が何かと便利な気がします
ちなみに
>入力がされたら自動でナンバーを振る・・・のであれば
例の表組の場合
A5セルに(1例) =IF(B5<>"",ROW()-4,"") と入れて下にフィルで良いと思います
事情が御有りなのかもしれませんが、
Excelの機能、関数、VBAを上手く組み合わせて作るのが好ましいと思います
No.1
- 回答日時:
こんばんは
>Do While ActiveCell.Offset(0, -1).Value <> "" の個所を
>どのように記述したらいいのでしょうか?
ループを抜けるのが、ダイアログのキャンセルかabc入力のみとしてよいのなら、無限ループにしてしまえばよいので、
Do While True
としておけば良いでしょう。
>自動でナンバーを振るようにしたいのですが、
処理のどこかで、行番号 - 4( ActiveCell.Row - 4 )をB列に記入すれば良いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel VBA 自動で連番をわりふる
Excel(エクセル)
-
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
ExcelのVBAで自動採番したいのですが
その他(Microsoft Office)
-
-
4
ユーザーフォームのラベルに日付を表示させる方法があればお願いします。出来ればコード書いていただけると
Visual Basic(VBA)
-
5
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
6
エクセルVBA 別シートからのコンボボックス連動
Visual Basic(VBA)
-
7
ユーザーフォームで別シートを検索できますか
Excel(エクセル)
-
8
Excel VBAのユーザーフォームでVLOOKUP
Visual Basic(VBA)
-
9
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
10
チェックボックスの値をTRUE/FALSE以外にするには?
Excel(エクセル)
-
11
別のシートから値を取得するとき
Visual Basic(VBA)
-
12
ExcelVBAでテキストボックスの表示形式を小数点第二位まで表示する方法
Visual Basic(VBA)
-
13
エクセルでユーザーフォームの入力時に重複チェックしたいのですが・・・。
Excel(エクセル)
-
14
エクセルユーザーフォームのチェックボックスのCaptionにセルの値を入れたい。
Excel(エクセル)
-
15
ExcelVBA コンボボックスに入力があったらリンクしてテキストボックスを更新したい
Access(アクセス)
-
16
VBAのフォームにレコード番号を表示させたい
Excel(エクセル)
-
17
ユーザーフォームのTextに数値を入れるとセルにエ
Excel(エクセル)
-
18
入力済み、選択したセルに連動した行のデータをユーザーフォームで呼び出すには
Excel(エクセル)
-
19
ユーザーフォームでTextBox1にカーソルを移動したい
Excel(エクセル)
-
20
Excelにて、ユーザーフォームで、日付けの範囲を指定し、検索しデーターを抽出し 別シートへ転記した
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストボックスの番号を使っ...
-
Excel-VBAでInputBox+Pulldown...
-
初歩的な事だと思います。 Sub...
-
エクセルVBA テキストボックス...
-
c#でTextBoxの入力制限
-
VBA R1C1形式で変数の入力について
-
EXCEL VBA で指定した範囲に入...
-
教えて!全角文字「μ」の半角
-
Wn10 サインインパスワード ...
-
至急です!Excelがわかりません
-
TextBoxから数字が文字...
-
数字以外の入力をエラーにする...
-
DataGridViewの桁数制限に関して
-
エクセルVBA条件一致したと...
-
C++でのリアルタイム入力の方法...
-
データベースの番号を1つずつ加...
-
VBAでInputBoxの再入力をさせる...
-
アンケートサイトのように・・・
-
TextBoxに特定の文字のみ入力を...
-
HTMLで全角文字のみ入力するに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA テキストボックス...
-
初歩的な事だと思います。 Sub...
-
テキストボックスの番号を使っ...
-
EXCEL VBA で指定した範囲に入...
-
VBAでInputBoxの再入力をさせる...
-
Excel-VBAでInputBox+Pulldown...
-
入力フォームの値をQRコードで...
-
TextBoxから数字が文字...
-
数字以外の入力をエラーにする...
-
エディットボックスの入力制限...
-
DataGridViewの桁数制限に関して
-
HTMLで全角文字のみ入力するに...
-
「イ分」・・・フンという文字...
-
excel vba でユーザーフォーム...
-
DataGridView 列ごとの入力制限
-
アクセスのマクロ
-
至急です!Excelがわかりません
-
VBA R1C1形式で変数の入力について
-
教えて!全角文字「μ」の半角
-
アルファベットGの小文字の入力
おすすめ情報