好玩的LED時鐘,還是用條件格式製作的,你覺得好看嗎?

各位朋友,你們好。我是一名辦公軟件愛好者,喜歡Excel,會函數、會基礎操作、也會一點VBA。喜歡和大家分享、交流一些Excel的知識。歡迎愛好Exce和要學習Excel的朋友,相互學習、一起進步。如果你喜歡我的分享,請關注我,以便第一時間看到我分享的內容。

今天,給大家分享一個用條件格式製作的LED時鐘(最近好像和時鐘扛上了,前些天用圖表做了一個時鐘,今天又用條件格式做),做這個時鐘,所用的知識點很少,就是簡單的公式條件格式+AND、OR函數進行多條件判斷,所以分享這個不是分享知識,而是分享思路和創意。

言歸正傳,下面請看演示效果(演示中有刪除單元格內容的操作,是為說明單元格中沒有內容):

好玩的LED時鐘,還是用條件格式製作的,你覺得好看嗎?

條件格式製作的LED時鐘

首先我說下原理:用excel的單元格組成數字的樣式,然後通過條件格式,設置相應單元格填充顏色的規則,通過改變單元格的顏色,再添加兩句控制時間更新的VBA代碼,就可以根據當前時間顯示出不同的數字,實現了上圖的效果。


下面,我們開始講解制作過程,製作步驟如下:

設計時鐘的尺寸:

一個數字分為7筆(見下圖,上中下三橫、上口和下口的左右各兩豎),每筆佔三個單元格位置(即三個單位長度,一個單位寬度)。縱向就一共需要9個單元格;單個字橫向需要5個單元格,分隔的冒號需要佔2個單元格,數值與數值之間的間隔要佔一個單元格,共需要5×6+2+7=39個單元格。再加上最外面一圈邊框,整個LED時鐘,橫向需要41個單元格,縱向需要11個單元格。

好玩的LED時鐘,還是用條件格式製作的,你覺得好看嗎?

數字的筆畫拆分(共7筆)

調整單元格:

數字的每筆的每個單元格,都要求是正方形的,但是在常規的列寬、行高設置中,都只能按像素來設置,且行和列的像素是不一樣的。我們可以用下面的方法來設置:切換到頁面佈局視圖→從B列開始選擇41列【B列至AP列】→設置列寬【0.16cm】→從第2列開始選擇11列【2至12列】→設置行高【0.16cm】→完成。具體操作見下圖:

好玩的LED時鐘,還是用條件格式製作的,你覺得好看嗎?

設置單元格行高列寬【0.16cm】

填充顏色,製作出時鐘的數值效果

要填充兩種顏色:①時鐘LED顯示板底色——黑色;②時鐘數值顏色——淺色。下面看我的操作演示:

好玩的LED時鐘,還是用條件格式製作的,你覺得好看嗎?

單元格填充顏色

整理條件格式規則

根據每個數字的特點,整理出顯示0時哪些筆畫填充顏色;顯示1時哪些筆畫填充顏色;顯示2時哪些筆畫填充顏色……顯示9時哪些筆畫填充顏色。然後整理成一個表(見下圖):

好玩的LED時鐘,還是用條件格式製作的,你覺得好看嗎?

整理結果

獲取時間,並根據整理結果,設置條件格式

一、獲取時間(這個就不做動畫演示了):

在A1單元格記錄當前系統時間,然後通過定義名稱的形式,定義為時間:時間=TEXT(A1,"hhmmss")

然後義六個名稱,依次為(Mid函數前面加了2個減號,是為了將文本數字轉換為數值):

①時2=--MID(時間,1,1);②時1=--MID(時間,2,1);

③分2=--MID(時間,3,1);④分1=--MID(時間,4,1);

⑤秒2=--MID(時間,5,1);⑥秒1=--MID(時間,6,1);


由於每個數字位置,都要顯示0到9的所有數字,我們就根據上面表格的特點按筆畫設置條件格式,舉個實例:

筆畫【上】:顯示1、4的時候不著色,顯示其餘數字時均著高亮色;

筆畫【中】:顯示0、1、7的時候不著色,顯示其餘數字時均著高亮色;

筆畫【下】:顯示1、4、7的時候不著色,顯示其餘數字時均著高亮色;

筆畫【左上】:顯示1、2、3、7的時候不著色,顯示其餘數字時均著高亮色;

筆畫【右上】:顯示5、6的時候不著色,顯示其餘數字時均著高亮色;

筆畫【左下】:顯示1、3、4、5、7、9的時候不著色,顯示其餘數字時均著高亮色;

筆畫【右下】:顯示2的時候不著色,顯示其餘數字時均著高亮色;

【分隔的冒號】:每秒跳一次,可以設置秒數為雙時是著高亮色,為單時不著色;

下面請看操作動畫演示(操作動畫只錄制設置一個字的過程,其餘的均按這個重複操作即可):

好玩的LED時鐘,還是用條件格式製作的,你覺得好看嗎?

設置條件格式

通過VBA代碼設置時間自動更新

代碼如下:

Sub 開始() '宏1

Application.ScreenUpdating = False '禁止屏幕自動更新

ThisWorkbook.ActiveSheet.Range("A1") = Time '活動工作表A1等於系統時間

Application.OnTime Now + TimeValue("00:00:01"), "開始" '每隔一秒在A1單元格中加上1秒

End Sub


Sub 停止() '宏2

Application.ScreenUpdating = False

On Error Resume Next

Application.OnTime Now + TimeValue("00:00:01"), "開始", , False

End Sub


然後在工作表中,添加兩個按鈕,一個指定為開始,一個指定為停止。

好玩的LED時鐘,還是用條件格式製作的,你覺得好看嗎?

設置VBA代碼,完成製作


知識點回顧:

1、按釐米設置列寬、行高,可通過頁面佈局視圖實現;

2、MID為文本函數,其結果為文本格式,可在MID前面添加兩個減號,將文本轉換為數值(負負得正);

3、判斷奇數偶數用MOD函數:MOD(數值,2)=0,則數值為偶數;

4、通過AND或者OR邏輯函數,多條件判斷;

5、條件格式設置。


最後,如果需要已製作好的文件,可以關注我,然後私信發送關鍵字:LED時鐘、條件格式時鐘,獲取文件。謝謝大家。


分享到:


相關文章: