excel的vba程式設計 掃描區域中的日期和指定日期相等

時間 2022-06-25 01:42:51

1樓:匿名使用者

1.轉換成字串比較

datevalue(日期)

2.從日期裡面取年月日比較

year(日期) month(日期) day(日期)要注意一點的就是,vba裡面日期是用double來表示的,日期是整數部分,時間是小數部分,直接比較的話可能會出錯.

2樓:匿名使用者

vba中的日期變數用#包含起來

if range("a" & i)=#2010-7-9# then x=x+1

或者range("a" & i )=datevalue("2010-7-9")

兩種都可以.

子易空間站 - excel培訓專家

3樓:匿名使用者

sub test1()

dim i as integer

dim x as integer

x = 0

for i = 2 to 1000 '1000可以自己指定行數if activesheet.cells(i, 1).value = "2010/07/01" then '2010/07/01 可自己指定

x = x + 1

end if

next i

msgbox (x)

end sub

4樓:匿名使用者

檢查a1:a10區域中日期為2023年7月15日的**:

for i = 1 to 10

if range("a" & i).value = #7/15/2010# then x = x + 1

next

excel 請教如何求兩個日期間的差值,用vba程式設計

5樓:匿名使用者

這麼多簡單方法為什麼不用啊?直接相減就行了。

excel關於自動生成日期的vba程式設計,請大家幫個忙!

6樓:浩哥奕弟

private sub worksheet_change(byval target as range)

if target.column = 1 and target <> "" and target.offset(0, 1) = "" then activecell.

offset(-1, 1) = date

if target.column = 3 and target <> "" and target.offset(0, 1) = "" then activecell.

offset(-1, -1) = date

end sub

7樓:匿名使用者

在該表中新增如下**,已測試通過!(alt+f11開啟一個vbe編輯視窗,雙擊要實現功能的工作表,將以下**貼上到視窗中儲存)

private sub worksheet_change(byval target as range)

dim i as integer

i = target.row

if cells(i, 1) <> "" and cells(i, 2) = "" then

cells(i, 2) = now()

end if

if cells(i, 3) <> "" and cells(i, 2) = "" then

cells(i, 2) = now()

end if

end sub

8樓:蟈蟈愛學

不改變原始**資料,列印時自動新增列印日期。

excel vba比較時間的方法

9樓:真真真白丁

親,區別大了~~~~~

首先要搞清楚你的time是什麼型別?

如果time是字元型,才能這麼比較:time>"09:00:00",而且這個比較實際是字串的比較,比的是內部code碼,不是真正的時間。

如果time是時間型別,或者數值型別,才能用:time>timevalue("09:00:00")。這個比較的是時間,只不過轉為了對應的時間數值,再比較。

time>cdate("09:00:00"),神馬意思??cdate是把字串轉換成日期,咋和時間扯上滴?

10樓:

一般都是用cdate

第一個應該是文字格式,除非被自動更正

excel vba 怎樣實現用sheet2裡的資料根據日期在sheet1裡查詢,並寫入對應列

11樓:匿名使用者

樓主,您好!

按照您的要求,我提供兩種方法給您選擇:

公式法的**:我以sheet2中b2單元格為例

=sumproduct((b$1=sheet1!b$1:g$1)*($a2=sheet1!a$2:a$5)*sheet1!$b$2:$g$5)

vba法 **如下:

sub test()

dim i&, j&

with sheet3

for i = 2 to .[a60000].end(xlup).row

for j = 2 to .[b1].end(xltoright).column

on error resume next

.cells(i, j) = sheet1.cells(sheet1.

range("a:a").find(.

cells(i, 1)).row, sheet1.range("1:

1").find(.cells(1, j)).

column)

next j

next i

end with

end sub

需要示例檔案請戳下面這裡:

12樓:穿紅裙子的貓

看的不是很懂,能發個檔案看下嘛

excel中如何用vba將指定單元格設定為日期格式

13樓:匿名使用者

你這個是輸入公式的意思,設定格式要用numerformat

worksheets(p).cells(j, i).numberformat = "yyyy-m-d"

ex(2,"交貨期")這是什麼,也許是你這個錯誤

14樓:北方會員

最簡單的方法是錄製一個巨集,再進入巨集編輯器分析一下自然明白。

range("e4").select

selection.numberformatlocal = "yyyy-m-d"

e4是指定單元格的名稱。

15樓:

直接用具體的sheets(2).range("a"1).numberformatlocal = "yyyy-m-d"是可以的,你可以看你的變數是否沒設定好

判斷excel單元格中的日期是否在某一個時間段內的公式

16樓:戈雯泉易蓉

比如輸入8:00-10:00,12:00-14:00,17:00-19:00)方法如下

開啟excel2010。

選中一個單元格,右鍵點選「設定單元格格式」。

在設定單元格格式下,選擇「數字」頁下的「自定義」選項。

在自定義「型別」欄中輸入通用格式「00":"00"-"00":"00」,點選確定。

在單元格中分別輸入數字08001000,12001400,17001900。

然後選中單元格,右鍵選擇設定「單元格格式」下的"數字「一欄,在」自定義「下選擇剛才的」型別「,就可快速輸入時間段。

17樓:

將不用的單元格(如x1和x2),x1設定為2023年2月15日,x2設定為2023年2月15日(x1,x2以及d列的格式務必相同,改為同一種日期格式),字型選擇白色(防止列印時候誤打),接下來就可以用公式了:

if(d1-$x$1>0,"是",if($x$2-d1>0,"是",否))

這個是我自己想出來的,麻煩應該還管用,至於其他公式能不能達到這個效果我不清楚,有的話告訴我哦,學習學習。

18樓:

=if(2023年3月12日-2023年4月30日<0,"是","否")

二個時間,是你的單元格

19樓:匿名使用者

=if(and(d1>="2010-2-15",d1<="2010-4-30"),"是","否")

excel 日期函式在vba裡怎樣表示

20樓:匿名使用者

把**修改為:

[a1] = year(now()) & "年" & month(now()) & "月" & day(now()) & "**表"

在vba中,沒有today函式

EXCEL中用VBA提取符合條件的數

陽光上的橋 寫好了,測試通過了 option explicit sub dim arr,arr1,arr2,arr3 dim i,j arr1 array 1,0,3,6,9 arr2 array 1,4,7 arr3 array 2,5,8 i j65536 end xlup row j i wh...

如何用VBA關閉EXCEL的列印預覽

這個問題只能用send key 來解決了 但是 在列印預覽視窗出現了之後,任何 都無法執行,這個問題不知道怎麼破,都不能執行了 只能手動退出了,誒,最簡單的做法就是使用 錄製巨集 功能,再去檢視巨集 具體就好了 這個問題我今天也遇到了 當然了現在已經是2020年了 我的解決辦法就是繞過這個列印預覽對...

VBA的程式語言同VB的有沒有區別?

visual basic for application vba 可以認為vba是visual basic 的子集,vba是寄生於vb應用程式的版本。vba 是基於visual basic 發展而來的,它們具有相似的語言結構,它們的介面也幾乎相同。vb是設計用於建立標準的應用程式,而vba是使已有的...