您好,腳本專(zhuān)家!如何設置 Excel 電子表格的格式以使其保留前導零?
-- AS
您好,AS。您知道,有個(gè)腳本專(zhuān)家仍然在做有關(guān)數字零的惡夢(mèng)。幾年前,他突然接到一個(gè)朋友打來(lái)的電話(huà),問(wèn)他是否愿意幫著(zhù)訓練一支少年籃球隊(10 到 11 歲)。因為向來(lái)就不三思而行,所以這個(gè)腳本專(zhuān)家就說(shuō),“當然愿意”。
結果,球隊在最后關(guān)頭才成立,而且成員都是聯(lián)盟中其他教練不想要的選手。(他們全都 10 歲,而聯(lián)盟中大多數隊員都是 11 歲。)繼開(kāi)場(chǎng)賽 14-12 失利之后 - 帶著(zhù)一點(diǎn)天真的樂(lè )觀(guān) - 球隊在后三場(chǎng)比賽中一分未得。
對,您沒(méi)聽(tīng)錯:一分未得。在籃球賽中一分未得,在同樣的比賽中張伯倫曾經(jīng)一個(gè)人就拿到 100 分。一分都沒(méi)得、光板、鴨蛋。換句話(huà)說(shuō),全是零。
順便說(shuō)一下,如果您想殺殺自己的威風(fēng),我們建議您當一名連續三場(chǎng)比賽一分不得的籃球隊的教練。這樣馬上您就會(huì )銳氣大減。
幸好,AS,Excel 中的前導零不太可能傷害您的自尊。我們假定您想要將一些數字(例如 1 到 10)添加到一個(gè)電子表格中,然后,像下面這樣設置這些數字的格式:
001002003004005006007008009010
您能做到嗎?嗯,就像我們所說(shuō)的,就提供零而言,至少有一位腳本專(zhuān)家堪稱(chēng)世界級專(zhuān)家:
Set objExcel = CreateObject("Excel.Application")objExcel.Visible = TrueSet objWorkbook = objExcel.Workbooks.Add()Set objWorksheet = objWorkbook.Worksheets(1)For i = 1 to 10objExcel.Cells(i, 1).Value = iNextSet objRange = objWorksheet.UsedRangeobjRange.NumberFormat = "000"對于 Excel 好像情況總是如此,這確實(shí)是一個(gè)非常簡(jiǎn)單的小腳本。例如,此代碼的前四行是樣板化的:它們的功能就是創(chuàng )建一個(gè)可見(jiàn)的 Excel 實(shí)例,然后為我們提供一個(gè)空白工作簿和空白工作表。然后,我們運行以下代碼塊來(lái)遍歷單元格 A1 到 J1,并在每個(gè)單元格中放置一個(gè)數字(1 到 10,與行號相對應):
For i = 1 to 10objExcel.Cells(i, 1).Value = iNext
換句話(huà)說(shuō),我們的單元格中的數字將像下面這樣:
12345678910
這確實(shí)是個(gè)不錯的點(diǎn)子:我們不想要這樣的數字,是吧?這就是此腳本要包括最后這兩行代碼的原因:
Set objRange = objWorksheet.UsedRangeobjRange.NumberFormat = "000"
所有的樂(lè )趣都在這了。在第一行中,我們創(chuàng )建一個(gè) Range 對象,此對象包括電子表格上包含數據的所有單元格(這由 UsedRange 屬性為我們提供)。創(chuàng )建此范圍之后,我們將 NumberFormat 屬性的值設置為 000。這會(huì )為我們提供前導零。換句話(huà)說(shuō):
| • | 數字 1 將顯示為 001。 |
| • | 數字 37 將顯示為 037。 |
| • | 數字 442 將顯示為 442 |
就這么簡(jiǎn)單。如果我們想要數字顯示更多的零,則我們必須做的就是向 NumberFormat 添加一些額外的零。例如,此行代碼可讓數字最多顯示六個(gè)零:
objRange.NumberFormat = "000000"
就是這么簡(jiǎn)單。
順便說(shuō)一下,有件事我們得承認。在本專(zhuān)欄的開(kāi)始部分,我們說(shuō)青年籃球隊在第一場(chǎng)比賽中以 14-12 失利。事實(shí)并非完全如此。某個(gè)星期五,此腳本專(zhuān)家的朋友接到一個(gè)電話(huà),詢(xún)問(wèn)他是否愿意做此隊的教練;打電話(huà)的人說(shuō),“嗯,明天就開(kāi)始訓練”。
“太好了”,這個(gè)朋友說(shuō)。“我們的第一場(chǎng)比賽是什么時(shí)候”?
“昨晚。不過(guò)因為您沒(méi)有到場(chǎng),所以只好放棄了”。
換句話(huà)說(shuō),在有人知道這是一個(gè)球隊之前,這個(gè)球隊戰績(jì)已經(jīng)是 0-1 了。這回您就了解了有關(guān)此賽季的全部情況了。
聯(lián)系客服