[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『空欄のカウント』(ドラネコ)
いつもお世話になっております。
今回は集計に関してになります。マクロによる空欄の色付け及び、実行ボタンの設置をおこない見やすくなったのですが、各エリア毎の空欄数を一覧にして表示できるようにしたいと思っています。
A営業所〜L営業所まであり、N列に実績が入力されていないセルを各営業所ごとに残数をリストにして表示したいです。その際A〜E、F〜Lをシートを分けて表示しているのでそのようになるよう教えて頂けると助かります。
営業所 残り
A
B
C
みたいな感じで、表示箇所はP5Q12辺りに表示が望ましいです。その際リストを自動更新で入力が行われたら減少するようになっていると助かります。
面倒ですが、お願いします。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
' ==変数の宣言など
Dim i As Long
'==処理
With ActiveSheet For i = 3 To .Cells(.Rows.Count, "N").End(xlup).Row Step 1 With .Cells(i, "N") If .Value = "" Then .Interior.ColorIndex = 36 End With Next End With End Sub です。これを使っているので範囲の指定はしなくても最終セルまでで範囲が絞られるかと思います。 なので上のコードの End Subの後に続くコードだと助かります。 B列に営業所がABCと連続で入力されています。また検索範囲は毎月変動します。 値はSheet1にはA〜Eの、Sheet2にはF〜Lを表示したいです。 (丸美屋) 2018/03/02(金) 17:18
また、空白セルに色づけする方法が解っていて、その数数えたいなら適当な変数用意して、色づけするたびにカウントしていけばよいとおもいます。
Sub Sample3()
' ==変数の宣言など Dim i As Long Dim buf As Long '==処理 With ActiveSheet For i = 3 To .Cells(.Rows.Count, "N").End(xlUp).Row Step 1 With .Cells(i, "N") If .Value = "" Then .Interior.ColorIndex = 36 buf = buf + 1 End If End With Next End With MsgBox buf & "個の処理を行いました" End Sub
また、単純に空白数を数えたいだけなら、ループ回す必要もないとおもいます。
Sub Sample()
'==変数の宣言とか
Dim WF As Object Set WF = Application.WorksheetFunction
'==処理
With ThisWorkbook.Worksheets("Sheet1") MsgBox WF.CountBlank(Range(.Range("N3"), .Cells(.Rows.Count, "N").End(xlUp))) End With End Sub
最後に。
質問者さんと追加で情報出されてる方のニックネーム違ってますけど同じ方ですか?
規約上ダメとはなってないですけど、回答者が混乱するので、同じ掲示板では同じニックネームを使うのがマナーかとおもいます。
同じ方でなければ、余計な一言失礼しました。
(もこな2) 2018/03/04(日) 06:20
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.