
VBAでエクセルA列に連番を振りなおす方法を教えてください!! 仕事でお客...
2012/3/611:20:16
VBAでエクセルA列に連番を振りなおす方法を教えてください!!
仕事でお客さんのID・IDの追加日・会社名・部署名をエクセルにまとめているんですが
VBAも初心者でどうしていいかわかりません。
状況としては、データは全て4行目から入力していて、B列にお客さんの顧客ID・C列に新規ID登録された日・D列に会社名・E列には部署名が入力されていて、A列にこの顧客の数だけNoが振ってあります。
A B C D
1 ID 社名 部署
2 ID 社名 部署
3 ID 社名 部署
ただ、結構日替わりで新しくまた追加されることもあれば削除になることもあります。問題なのは削除の際は行ごと消すのですが、その際に番号も1の次が3になったりバラバラになってしまいます。
それをまた1~・・・最後まで振りなおすようにしたいのですが、どのようにしていいかが分からないです。
自分で色々調べてみたのですが、なかなか見つからず(私の調べ方も悪いかもしれないですが)皆さんのお力をお借りしたいです。
イメージに近いところだと、下記のようなマクロを試しに組んでみたのですが、これだと新規にお客さんを登録する際に、A列の最後の数+1の番号にするようになっているので、特定の行までNoが入ってしまうことになるので使えないです。
分からないなら使うな!と一喝されてしまいそうですが、どうかよろしくお願いいたします。
Private Sub Worksheet_Calculate()
Application.EnableEvents = False
If Range("A4", Range("A65536").End(xlUp)).Count < 450 Then
Range("A4", "A450").FormulaLocal = "=ROW()-3"
End If
Application.EnableEvents = True
End Sub
この質問は、活躍中のチエリアン・専門家に回答をリクエストしました。
ベストアンサーに選ばれた回答
2012/3/616:45:37
B列で最終行判定を行い
B列が入力されているだけ
A列の4行目から連番を振る
Private Sub Worksheet_Calculate()
Dim maxrow As Double
Dim i As Double
Application.EnableEvents = False
maxrow = Cells(Rows.Count, 2).End(xlUp).Row
For i = 4 To maxrow
Cells(i, 1) = i - 3
Next i
Application.EnableEvents = True
End Sub
こんな感じでどうでしょう?
Private Sub Worksheet_Calculate()
を理解して使用しているのでしたら
これでいけると思いますが。。。
この回答は投票によってベストアンサーに選ばれました!
ベストアンサー以外の回答
1〜2件/2件中
- 並び替え:回答日時の
- 新しい順
- |古い順
リクエストマッチ
2012/3/709:57:35
2012/3/612:25:35
>1~・・・最後まで振りなおすようにしたいのですが
例えば、
VBAによるセルの操作を考えてみてください。
セルの位置は変数を使えばループしながら移動できます。
"=ROW()-3"式で番号を振ってくれる、でなくてセルを操作して振りなおすプログラムにする
http://excelvba.pc-users.net/fol6/6_3.html
繰り返しさせます。
セル(xx、yy)は変数で指定できるので、
1列目、1行目、に位置付けて、ループで、
1列目、2行目、
1列目、3行目、
・・・
と変えていく。
そこでA列1つ上のセルの値と同じかどうかを判断して+1するかどうかを決める。
OFFSETを使ってもいいです。
あわせて知りたい
- 指定の行から最終行まで通し番号をふる Excel VBA にて、 指定の行から最終行ま...
- 【Excel】入力すると自動に連番がふられる表 ↑を、作成したいのです。 氏名や住...
- EXCEL VBAで番号をふりたいのです。 EXCELのセルに以下のように入力してあります...
- エクセルのA列にある重複する値を参照してB列に1からの連番を付けるマクロ(VBA...
- ACCESSのVBAでEXCELに連番を付けたいのですが、未熟者で分かりません。具体的な記...
- 至急! エクセル VBA 連番 for k 1 to last 処理 next i の中で連...
- NECのパソコン用のデバイスドライバーはどこにありますか? デバイスドライバーを...
- エクセルVBAにてフォルダ内にあるファイルを ファイル名順に処理を行いたいので...
- Excel VBAのシートをまたぐVLOOKUP関数の使い方について質問です。 Excel VBAで質...
- 【エクセル マクロ】 見積書の見積番号を自動採番するマクロについて教えて下さ...
- 派遣先管理台帳の質問です。勤務状況は別紙タイムカードを参照し記述をはぶけるの...
- VBAの質問です。 A11から5行毎に連番(1,2,3・・・・)を自動で入力する...
- VBAで質問です。 ユーザー定義関数が実行されないので教えていただきたいです。 ...
- VBAで1列ずつずらしなら計算を行う方法について VBAを用いてExcel上の列を1ず...
- EXCELのVBAでテキストボックスの数字の判定ができずに困っています。アルファベッ...
- VBAでユーザーフォームが起動するアドインを作ったのですが、そのなかにリストボ...
- 連番のついた複数ファイルを自動で開きたい エクセル2007のVBAについて質...
- エクセルVBAで If文のIFで問う件数には制限がありますか? If a1=○ then If...
- エクセルでナンバリング印刷をしたいのですが。マクロ初心者で困っています。 は...
- エクセルのVLOOKUP関数は左端列しか検索してくれないのでしょうか? 右側の列を検...
このカテゴリの回答受付中の質問
- VBA エクセル マクロ について質問です。 自作のボタン(図形)をクリック(タッ...
- マクロを実行後、BookをExcelで保存する方法を教えてください。 ①マクロを実行...
- EXCELL(Googleスプレッドシート)の数式について質問です。 MIN関数内のIF関数で表...
- シーケンサーのラダーで質問です。 かなり初歩的なことですが… ① [*P D150 D1...
- VBAにてIE操作を行いプルダウンメニューの選択をしているのですが、 うまく...
- Excelのvbaで、 activesheet.protect オブジェクト以外を保護したいのです...
- Visual Studio 2015は2019年現在ダウンロードはできないのでしょうか? 今現在Vis...
- マクロでのVlookについて教えてください。 いうもお世話になっております。 ...
このカテゴリの投票受付中の質問
- エクセルVBAについて質問です。 マスタデータがあってそこから人毎の商品を抽...
- クラスからファームの各オブジェクト(テキストボックスなど)の値を設定する方法が...
- visual studio のC#で質問です。 form1の検索ボタンを押したら "これでよろし...
- visual studio2017 のクラシックデスクトップを表示させる方法 とある本でC#を...
- vbaでHTMLの 全ての要素を取得するには 開いているWEBページをVBAで参...
- パワーポイントに画像を挿入するマクロを作りたいのですが上手くいきません。 VB...
- try catch でスローって言うのは簡単に言うと例外をもう一回発生させる事ですか?...
- エクセルのVBAに関する質問です。 添付のように、1列目に入っている文字を参照...
- ■早急希望・500枚お礼■ フォルダ内のエクセルファイルをVBAマクロで 複数ファ...
- 下記コマンドは、マクロでプリントスクリーンをとれますか? OSは、Windows7でオ...
この質問につけられたタグ
カテゴリQ&Aランキング
- 戻る
- 次へ
総合Q&Aランキング
Yahoo!知恵袋カテゴリ
お客様自身の責任と判断で、ご利用ください。

