完了したかどうかを示すExcelファイルがあります。これは、列に「はい」または「いいえ」と表示されます。最終的に私は別の列のデータに興味がありますが、タスクが完了した行を無視するようにコードを設定したいと思います。これまでのところ、yes/noを含む列範囲を定義しましたが、この範囲で実行するコマンドはわかりません。私は別の範囲の値から範囲を定義する
Option Explicit
Sub Notify()
Dim Chk As Range
Dim ChkLRow As Long
Dim WS1 As Worksheet
On Error GoTo WhatWentWrong
Application.ScreenUpdating = False
'--> If the text in column C is Yes then Ignore (CountIF ?)
'--> Find last cell in the column, set column C range as "Chk"
Set WS1 = Sheets("2011")
With WS1
ChkLRow = .Range("C" & Rows.Count).End(xlUp).Row
Set Chk = .Range("C1:C" & ChkLRow)
End With
'--> Else Check date in column H
'--> Count days from that date until today
'--> Display list in Message Box
Reenter:
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Exit Sub
WhatWentWrong:
MsgBox Err.Description
Resume Reenter
Application.ScreenUpdating = True
End Sub
が、おそらく、単純に列Cの値に基づいて1つの範囲を定義する方が簡単ではなく、最初の範囲としてC列を定義するだろう、列Cの値に基づいて新しい範囲を定義したいと想像しますそれを再定義しますか?
おかげ
オートフィルタを使用して可視範囲を取得する方法はありますか?あなたはVBAを使う必要がありますか?数式を使用して、「いいえ」と言われる合計日数を取得することもできます。 –
私が達成しようとしている最終的な結果は、まだ完了していないタスクがそこにあった日数を示す要求に応じて、ユーザーのためのメッセージボックスを表示することです。私は、完了したタスクを常に隠しておきたいと思います。エンドユーザは、フィルタ自体を使用する能力がなく、要求されたときにVBAを使用することができません。 –
Col Hの総未払い日数が必要ですか? –