dポイントプレゼントキャンペーン実施中!

Excelのマクロで自動連番をしようと勉強していてどうしてもマクロ記録だけではIFができないので困っています。今現在は関数で+1しています。

A1:A20まで数字を入力する項目があり毎回20まで振るわけではなく15までだったり18までだったりします

その条件としてA2:15までチェック項目がありそのチェックの数をA20に表示しています。
A20が0ではない場合数字を振っていきたいです。

調べながら色々手を加えているのですがどうしてもできません…
初心者でもわかりやすく教えて貰えると助かります。

質問者からの補足コメント

  • A2:A15までには簡単に言えばYesなら1 Noなら0みたいに数字が入っててA20には1の数を数えてます

    連番として数字を振りたいのはA1:D1でした
    記載が間違えてました

      補足日時:2017/08/10 12:39
  • A2:A15までには簡単に言えばYesなら1 Noなら0みたいに数字が入っててA20には1の数を数えてます

    連番として数字を振りたいのはA1:D1でした
    記載が間違えてました

      補足日時:2017/08/10 12:57

A 回答 (3件)

>連番として数字を振りたいのはA1:D1でした



ええ!?
B2からB15とかにA列に1が入っているところだけに番号振るとかかと思ってたんですが…
もう少し具体的に、こことここに1が入っていたら、どことどこに連番とか書いてもらえませんか?
    • good
    • 0

質問文の内容から"どこに","どの様な連番を"付けるのか分からないのですが,


分かる事は
・A1~A20の範囲で上から順に数値を入れる
・数値入力は必ずしもA20まであるわけでは無く,A15やA18までの事もある.
・現状は連番を入れるために関数で+1にしている(どういう関数または数式を入れているのか良く分からない)
やりた事は
・A20が0出ない場合数値を振る(どこにどの数値を入れるのかは不明)

例えばFor~Nextを使えば繰り返し演算できるので,下記の様な書き方だとA2~A20に数値入力されたセル数に応じた連番をC1~C19に出力できます.

Sub test()
Dim i As Integer
Dim k As Integer
i = WorksheetFunction.CountA(Range("A2:A20"))
For k = 1 To i
Cells(k, 3) = k
Next
End Sub

多分やりたい事はこういう事では無いと思いますが,もう少し具体的なアウトプットを示してくれると回答が付くと思いますよ.
    • good
    • 0

では、どういうときにA15まで連番をつけて、どういうときにA18まで連番をつけるのですか?


もう少し突っ込んだ説明、詳細を記してください。
具体的に書けば、賢明なる回答者が回答をしてくださるでしょう。
A20 にはチェックの数を表示されているということなのですが、この数字が連番の最終番号なのですか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!