小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

線表計劃倒推日期,這個技能你可以會!

 EXCEL分享 2020-11-13


 前言

有了計劃日期,利用條件格式就很輕松的就能作出帶單元格填充的線表計劃,如果要劃線,也可以用VBA快速生成線條計劃,前面有講,大家可以翻一番前面的文章.

條件格式在計劃表中的應(yīng)用

線表計劃進階-精確定位直線位置

今天講的是反向操作,如上圖所示,計劃員偷懶只在單元格填充了顏色,沒有給出計劃日期,并且這樣的計劃弄了幾百條,我只想要我的計劃日期,如何去做?

 解題思路

當然我們還是先用肉眼觀察一下,看看有什么發(fā)現(xiàn):

這個表中,一個單元格代表一周

計劃日期所在單元格的填充顏色為黃色,其它為非黃色

有著兩條就夠了,這就是規(guī)律,有了規(guī)律就好辦事

打開vba

調(diào)出立即窗口:視圖-立即窗口

首先選擇一個黃色的單元格,我們來看看這個顏色在VBA中的顏色代碼是什么?

在立即窗口中輸入

? SELECTION.INTERIOR.COLORINDEX 回車

返回值為6

意思是單元格填充的顏色代碼為6

因此我們可以這樣認為:

每一條任務(wù)所在的行第一次出現(xiàn)黃色,則這個單元格對應(yīng)的同一列的第一行的日期即為開始日期

每一條任務(wù)所在的行最后一次出現(xiàn)黃色,則這個單元格對應(yīng)的同一列的第一行的日期+6,即為結(jié)束日期

:

任務(wù)A的開始日期為11,結(jié)束日期為17(11+6)

任務(wù)B的開始日期為18,結(jié)束日期為128(122+6)

 實操

我們先插入兩列,命名為開始和結(jié)束,以便存放我們的日期信息,如下圖所示

新建模塊,寫入下列代碼:

Sub writedate()

'行的循環(huán)范圍

For i = 2 To 6

'列的循環(huán)范圍

For j = 4 To Range("l1"). Column

'獲取開始日期

'判斷該單元格的左邊單元格的顏色值不為6,并且該單元格的顏色值為6,則說明為第一次出現(xiàn)黃色的單元格

If Cells(i, j).Offset(0, -1).Interior.ColorIndex <> 6And Cells(i, j).Interior.ColorIndex = 6 Then

'將該單元對應(yīng)列的第一行的單元格日期寫入第二列

Cells(i, 2) = Cells(1, j)

End If

'獲取結(jié)束日期

'判斷該單元格的顏色值為6,并且該單元格右邊單元格的顏色值不為6,則說明為最后一次出現(xiàn)黃色的單元格

If Cells(i, j).Interior.ColorIndex = 6 And Cells(i,j).Offset(0, 1).Interior.ColorIndex <> 6 Then

'將該單元格對應(yīng)列的第一行的單元格日期+6寫入第三列

Cells(i, 3) = Cells(1, j) + 6

End If

'循環(huán)結(jié)束

Next

'循環(huán)結(jié)束

Next

End Sub

運行該程序,如下圖所示:

有同學說,不對啊,為什么是數(shù)字亂碼,那你就是沒有好好聽課,快點去復(fù)習一下前面關(guān)于日期的內(nèi)容吧,會的同學請略過.

關(guān)于日期和時間的概念

B\C列的數(shù)據(jù)格式改成日期格式,或自定義格式,我習慣上用自定義格式,”YYYY-MM-DD”,這樣比較工整,看起來比較爽.

設(shè)置如下:

選擇開始和結(jié)束兩列,CTRL+1,設(shè)置單元格格式

最后,結(jié)果如下:

學會這個方法,縱使有千萬行,也是瞬間完成,不信就試一下吧!

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多