通過VBA程式找出excel表中B列的最大日期,並且排除不要的年份的日期,如12 2019(日期格式),急

時間 2022-05-28 18:00:02

1樓:譚笑風笙

這需要用vba嗎?你日期都在b列,假設你需要排除的年份為2011,c1輸入

=text(max(if(year(b:b)<>2011,b:b)),"yyyy-m-d")

按ctrl+shift+enter結束即可。

2樓:香格里拉稻草人

sub 最大日期()

dim arr, r%, i%, p$

r = range("b65536").end(3).rowarr = range("b1:b" & r)mydt = arr(1, 1)

for i = 1 to r

p = mid(arr(i, 1), 1, (instr(arr(i, 1), "/") - 1))

if p <> "2013" then range("b" & i) = "" else _

if arr(i, 1) - mydt >= 0 then mydt = arr(i, 1)

next

msgbox "最大日期:" & mydtend sub

假設年份不是2013均排除

3樓:匿名使用者

應該可以滿足你的需求 試一下吧

sub test()

dim i%, j%

dim arr, v

v = 2014 』不要的年

j = [b65536].end(xlup).rowredim arr(1 to j)

for i = 2 to j

if year(cells(i, 2)) <> v thenarr(i) = cells(i, 2)

else

cells(i, 2).interior.color = vbyellow

end if

next i

v = arr(1)

for i = 2 to j

if arr(i) > arr(i - 1) thenv = arr(i)

end if

next i

msgbox v

end sub

Excel如何通過VBA找出最後一行資料所在的列

陽光上的橋 一般有兩個方法,一是使用activesheet.usedrange,這個表示所有已經使用的區域,一般可以賦值給陣列完成所有資料的讀取,也可以使用activesheet.usedrange.rows.count和activesheet.usedrange.columns.count獲得區域...

在EXCEL中。用VBA程式編寫

函安白 自定義函式如下,請新增到要使用的excel檔案的vba 模組中function iscircletext byval 字串 as string do while len 字串 1if left 字串,1 right 字串,1 then iscircletext no exit functio...

Excel如何用VBA實現表資料格式轉換

這個實現起來不難,主要是程式的控制,試試下面的 sub zz dim ar,a b n t a array 3,7,11 b array 6,10,15 ar sheets 1 a1 currentregion.value redim c 1 to ubound ar 1 ubound b 2 1 ...