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是使已有的...