2014-06-20 2 views
-2

안녕하세요,오늘 오늘 필터 데이트

내가 찾고 편집 한 코드를 수정 해 주시겠습니까? 그것은 열 O를 필터링하기로되어 있으며 오늘 날짜보다 작거나 같은 날짜 만 표시합니다. 셀 AC2는 오늘 날짜를 표시하지만 코드를 재생할 수는 없습니다.

With Sheets(1) 
MyVal = Application.WorksheetFunction.WorkDay(Sheets(1).Range("AC2").Value) 
Sheets(1).Range("A1:AA1").AutoFilter Field:=15, Criteria1:="<=" & MyVal 
+0

변수 myval을 선언 했습니까? – Kory

+1

"코드를 재생할 수 없습니다"는 유용한 문제 설명이 아닙니다. 게시 한 코드와 관련된 특정 문제는 무엇입니까? –

+0

안녕하세요, 오늘 (date) 전에 인보이스가있는 데이터를 표시하는 열 O를 필터링하려고합니다. – Modudes

답변

5

내가 올바르게 이해하면 아래 내용이 도움이됩니다. 그것은 당신의 컴퓨터의 시스템 시간에 따라 코드가 실행될 때마다 현재 날짜 이전 날짜 만 표시하도록 필터링합니다 :

Sub DateFilter() 
Sheets(1).Range("A1:AA1").AutoFilter Field:=15, Criteria1:="<" & Date 
End Sub 

오늘은, 변화 "<"을 "< ="포함 할 경우

. "날짜"는 현재 날짜를 나타내는 VBA 방법입니다. 컴퓨터의 시스템 시간을 사용합니다.

WorkDay 함수는 다른 날짜 이후에 특정 수의 근무일을 찾는 데 사용됩니다. 이처럼 사용 : 당신이 주어진 날짜 이후 일 이전에, 말에 근거 다섯 개 근무일 아무것도 열 O를 필터링하고 싶다면

근무,

그래서 (시작 날짜, 주중의 수를 카운트하는) 셀 AC2를 사용하면 다음을 사용할 수 있습니다.

Sub Datefilter() 
Dim MyVal As Date 
MyVal = Application.WorksheetFunction.WorkDay(Range("AC2").Value, 5) 
Sheets(1).Range("A1:AA1").AutoFilter Field:=15, Criteria1:="<" & MyVal 
End Sub 
+0

안녕 Liza, 이제 코드가 실행되었지만이 줄에 오류가 표시됩니다. --- MyVal = Application.WorksheetFunction.WorkDay (범위 ("AC2"). 값, 5) – Modudes

+0

네가 옳다. 내 질문을 올바르게 이해했다. – Modudes

+0

아, 제 사과, 거기에 선언 진술서를 빠뜨 렸습니다. "MyVal = Application.WorksheetFunction.WorkDay (Range ("AC2 "). Value, 5) 앞에"Dim MyVal As Date "를 추가하십시오." – Liza

관련 문제