• ベストアンサー

excelのオートNo作成

tom04の回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! (1)行削除の場合 → 常にA10000セル(9998)までは連番を表示させる。 (2)行挿入の場合 → 最終行は増えるが挿入行のA列(空白セル)に連番を表示する。 という考え方でのVBAの一例です。 画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストして、行挿入・行削除を行ってみてください。 Private Sub Worksheet_Change(ByVal Target As Range) 'この行から Dim i, j As Long j = Cells(Rows.Count, 1).End(xlUp).Row If j > 10000 Then Application.ScreenUpdating = False For i = 2 To j If Cells(i, 1) = "" Then Cells(i, 1).Formula = "=row()-2" End If Next i Else For i = Cells(Rows.Count, 1).End(xlUp).Row + 1 To 10000 Cells(i, 1).Formula = "=row()-2" Next i End If Application.ScreenUpdating = True End Sub 'この行まで ※ For~Next を使っていますので、若干時間がかかるかもしれません。 参考にならなかったらごめんなさいね。m(_ _)m

関連するQ&A

  • エクセルの質問

    いつもお世話になっております。 エクセルの関数について質問させていただきます。 使用しているバージョンは2007です。 セルに連番をを入力し、途中で行の削除を行った場合でも連番が自動で修正されるようにしたいため、ROW関数を使用して表を作成しました。 具体的には、 A3セルから連番をふりたいので、A3セルに「=ROW()-2」と入力しましたが、A3、A4のセルを結合しているため、1、3、5、・・・と番号がふられてしまいます。 結合したセルにも連番を振るにはどうすれば良いでしょうか? ちなみに結合は2つのセルの結合のみです。 どうぞよろしくお願いします。

  • エクセル2003で可能でしょうか?

    エクセル2003で、行を削除しても自動で連番をふりなおせる関数ROWは解るんですが、行ごと削除するときはROWは有効ですが、たとえばこんなときはどうすればよいでしょうか? A列に連番がふってある表があったとして、A1~A5セルに1~5の連番をふったときに、A3セルの連番を消し、”削除”という文字列を入力した場合、A1セル=1、A2セル=2、A3セル=”削除”、A4セル=3、A5セル=4 というように、”削除”と文字列を記入したセルを飛ばし連番が自動的にふれるという関数orマクロはないでしょうか?今は、いちいち手打ちで修正しているのですが・・。ROWとIFを使ってできないか?と考えましたがどうしても解りません。みなさんのお知恵をかしてください!!   

  • Excel オートフィルタ

    こんばんわ。 教えていただきたいのですが、excelのオートフィルタの各項目のフィルタをクリックすると登録してあるものが自動的に表示されるようにしたいのです。 A1のセルにABC  A2のセルにDEF A3のセルにGHIと入力をします。 このA1~A3までの行をすべて非表示にします。 A4以降のセルはすでに何かが入力されています。 A4以降にオートフィルタを設定してA4のセルをクリックするとABC、DEF,GHIとクリックすると入力できるようにしたいのですが・・。 説明がうまくない本当に申し訳ありませんが、アドバイスをお願いいたします。

  • Excelのグラフ作成

    セルA1に自動で更新される値(データ)があり、 この値が更新される度にA2、A3へとシフトされ値(データ)が溜まっていきます。 (新しいデータが常にA1に表示されます) このリアルタイムで更新される値のグラフを作成したいのですが上手くいきません。 セルが挿入されデータが溜まっていきますので、A1からA10までデータが溜まった時点で グラフを作成してもグラフの範囲も一緒にシフトされ新しいデータが取り込まれません。 いい方法はないでしょうか? 宜しくお願いします。

  • EXCELマクロのデータの最終行の取得

    EXCELマクロでRange("A1").End(xldown).Rowで、正しい値が取得できません。 A1からA6697まで、連続して入力しているので、途中に空白セルはありません。 それよりうしろにも、データはありません。 しかし、帰ってくる値はなぜかそれより遥か下の空白セルの「78889」です。 下からxlUpで検索しても同じ値が返ってきます。 A78889には、何も入力してありません。 rangeで範囲指定ではなく、usedrangeやcolumnsでみると正しく認識します。 どなたか分かる方いらっしゃいましたら、よろしくお願いします。 ※A1からA6697まではマクロで自動作成して埋めているセルなので、問題のセルを含めそれ以外の場所はなにも触っていません。

  • エクセル色分け

    エクセル2010であるセル(A1)の値が以下の値に入力したときに 自動で隣のセル(B1)に右の値を入力して、かつその行全体(1行目)をB1の値に応じて 色分けするようにしたいのですが、そのやり方がわかりません。 445~475→000 400~430→00 355~385→0 310~340→1 265~295→2 220~250→3 175~205→4 130~160→5 85~115→6 どうかそのやり方を教えて下さい。

  • エクセルの計算式でオートフィルを利用したいのですが・・・

    エクセルでsheet1のA1のセルにsheet2のA1~A5の足し算を入力し、 sheet1のA2のセルにsheet2のA6~A10の足し算を入力し…という風に、sheet2の5行ずつの足し算を順にsheet1へ合計で足していきたいのですが、膨大な数なのでオートフィルを使って一気にしたいのです。 3行目まで手打ちで入力して4行目からオートフィルでしようとしても、5行毎に足してくれません。 どのようにしたらいいでしょうか? どなたかお分かりになる方、すみませんが教えてください。 よろしくお願いします。

  • エクセル オートフィルの制御について

    初めまして、エクセルの行で、例えばa2セルが未入力の時に、隣のb2セルの 日付のオートフィル機能をとばすことは出来ますか? a2セルが未入力の時は、b1のセルが1/1だったら、b2はとばして、b3に、1/2と入れたいのですが、 何か、初心者にも判る方法で、出来ませんでしょうか。 どうぞよろしくお願い致します。

  • エクセルについて教えていただきたいです。

    エクセルについて教えていただきたいです。 こんにちは エクセルでマスターデータを作成していますがどうしてもわからないところがあるのでご教授願います。 セルに入れた値(変更可能)に応じてその入れた値の列数分他のセルに連続で入力されるというなんともわかりづらい悩みです。 A1に“10”と入力 B2から“10”列分のK2まで同じ値が(100と)入る  →ここの自動ではいる値(100)はC1で自動計算された値 A1を“20”としたらB2からU2まで100が入る この説明でわかるでしょうか。 よろしくお願いいたします。

  • エクセルでオートシェイプをデータによって移動できますか?

    エクセルでオートシェイプをデータによって自動で移動させる事は可能でしょうか? 例えば、 『血液型 : A・B・O・AB』 という項目があって、血液型によって○で囲む書式の場合に(血液型がA型ならば、Aを○で囲む)他のセルで血液型を入力して、その値が変更する事によって、囲む○(オートシェイプを使用)の位置を自動で移動させたい。 VBAはほとんどわからないので、マクロ使用程度でできたら、と思っています。 エクセルのバージョンは2003です。