- ベストアンサー
エクセルのナンバリング方法
エクセルの表でナンバリングについての質問です。B1に『=IF(B1="""","",(A1+1))』など関数を入れてドラッグする方法ではなく、自動的にナンバリングできる方法があれば教えて下さい、お願いします。表をシートごとはなく一つのシートに連続表示させておかなくてはいけない仕様の仕事なので、ドラッグのナンバリングがいちいち面倒なのです。途中途中に『小計』など別の符号が入ったりスペースをあけたりしているので、できればその『1』を入力してから空白セルの続く場所まで、と指定したいのですがうまくいきません。以前上司がどこかの会社から貰ったデータでA1に『1』を入れるだけで空白セルが全部埋まったと云っていたので探しているのですがそういうやり方はありませんでしょうか?(そのデータは既に紛失してしまったので遡れませんでした)宜しければお知恵をお貸し下さい。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>『1』を入れるだけで空白セルが全部埋まった こんな方法は知りませんが A1に 1 A2に 2 入れて、A1:A2選択して、マウスをA2の右下に移動したら 表示が + になるので、そのときにダブルクリックします。 >B1に『=IF(B1="""","",(A1+1))』 この関数も今一理解できないですが B列に、データが入っていて、所々空白があるとして A1に =IF(B1="","",COUNTA(B1:B$1)) いれて、上記と同様に右下が+になったら、ダブルクリック
その他の回答 (1)
- kuma3f
- ベストアンサー率63% (28/44)
思われていることと違っていましたらすみませんが、A列にナンバーを入力後、 B列にセルが移動したらイベントを実行させるマクロではどうでしょうか。 参考までに下記のコードを新規BookのSheet1のコードに貼り付けてみてください。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim たて, よこ, カウント, リミット As Long Dim 数字判定 As Variant Application.MoveAfterReturnDirection = xlToRight '右へ移動 たて = ActiveCell.Row よこ = ActiveCell.Column If よこ = 2 Then 数字判定 = Cells(たて, 1).Value If IsNumeric(数字判定) Then '数字だったら If Cells(たて + 1, 1) = "" Then カウント = Cells(たて, 1).Value If Cells(たて, 1) <> "" Then リミット = 1 Do Cells(たて, 1) = カウント カウント = カウント + 1 たて = たて + 1 リミット = リミット + 1 Loop Until Cells(たて, 1) <> "" Or リミット > 100 End If End If End If End If End Sub
お礼
あわわ、これはVBAでしょうか、ごめんなさい、当方、割と初心者で…VBAはやり方がさっぱりわからないので…折角こんなに考えて下さったのにどこに貼り付けをしていいかわかりませんでした、すみません。 こんなに考えて下さってありがとうございました。
お礼
ありがとうございました、どうやらこの教えていただいた方法とも微妙に違うようなのですが(そんなやり方本当にあるのかなぁ…)上司にこちらのやり方を教えたところ満足して貰えました!ありがとうございます!