智能表9.1.1
Smartsheet 是一個動態工作平台,可讓您管理專案、建立工作流程以及與團隊合作。
Excel VBA 提供了許多內置函數。其中一些Excel VBA函數接受參數,有些則不接受。
在這裡,您可以找到一些在代碼中使用 VBA 函數的示例。在許多示例中,MsgBox 函數在消息框中顯示一個值。是的,MsgBox 是一個 VBA 函數——一個相當不尋常的函數,但仍然是一個函數。這個有用的函數在對話框中顯示一條消息並返回一個值。
顯示系統日期或時間
第一個示例使用 VBA 的 Date 函數在消息框中顯示當前系統日期:
子演出日期() MsgBox "今天是:" & 日期 結束子
請注意,Date 函數不使用參數。與工作表函數不同,沒有參數的 VBA 函數不需要一組空括號。事實上,如果您鍵入一組空括號,VBE 會立即刪除它們。
要獲取系統時間,請使用 Time 函數。如果您需要全部,請使用 Now 函數返回日期和時間。
查找字符串長度
以下過程使用 VBA Len 函數,該函數返回文本字符串的長度。Len 函數接受一個參數:字符串。執行此過程時,消息框會顯示您的姓名以及姓名中的字符數。
子獲取長度() 將 MyName 調暗為字符串 Dim StringLength 一樣長 我的名字 = 應用程序.用戶名 StringLength = Len(MyName) MsgBox MyName & " 具有 " & StringLength & " 個字符。" 結束子
計算你名字的長度。
Excel 還具有 LEN 函數,您可以在工作表公式中使用它。Excel 版本和 VBA 函數的工作方式相同。
顯示月份名稱
以下過程使用 MonthName 函數,該函數返回月份的名稱。MonthName 使用一個參數:1 到 12 之間的整數。
子 ShowMonthName() Dim This Month As Long 本月 = 月(日期) MsgBox MonthName(ThisMonth) 結束子
此過程使用 Month 函數獲取當前月份(作為值),並將該值分配給 ThisMonth 變量。MonthName 函數然後將值轉換為文本。因此,如果您在四月運行此過程,消息框將顯示文本四月。
實際上,不需要 ThisMonth 變量。您可以使用此表達式獲得相同的效果,它使用三個 VBA 函數:
月名(月(日))
此處,當前日期作為參數傳遞給 Month 函數,該函數返回作為參數傳遞給 MonthName 函數的值。
確定文件大小
以下 Sub 過程顯示 Excel 可執行文件的大小(以字節為單位)。它通過使用 FileLen 函數找到這個值:
子 GetFileSize() Dim TheFile 作為字符串 TheFile = "C:\Program Files (x86)\Microsoft Office\root\Office16\EXCEL.EXE" MsgBox FileLen(TheFile) 結束子
請注意,此例程對文件名進行了硬編碼(即明確說明路徑)。這不是個好主意。該文件可能不在 C 驅動器上,或者 Excel 文件夾可能具有不同的名稱。以下語句顯示了更好的方法:
TheFile = Application.Path & "\EXCEL.EXE"
Path 是 Application 對象的一個屬性。它只返回安裝應用程序(即 Excel)的文件夾的名稱(不帶尾隨反斜杠)。
識別選定對象的類型
以下過程使用 TypeName 函數,該函數返回工作表上選擇的類型(作為字符串):
子 ShowSelectionType() Dim SelType As String SelType = 類型名稱(選擇) 消息框選擇類型 結束子
選擇可以是范圍、圖片、矩形、圖表區域或可以選擇的任何其他類型的對象。
TypeName 函數非常通用。您還可以使用此函數來確定變量的數據類型。
一些 VBA 函數超出了職責範圍。這些函數不是簡單地返回一個值,而是有一些有用的副作用。
VBA 函數具有有用的副作用
功能 | 它能做什麼 |
消息框 | 顯示一個方便的對話框,其中包含一條消息和按鈕。該函數返回一個代碼,用於標識用戶單擊了哪個按鈕。 |
輸入框 | 顯示一個簡單的對話框,要求用戶輸入一些信息。該函數返回用戶在對話框中輸入的任何內容。 |
殼 | 執行另一個程序。該函數返回其他程序的任務 ID(唯一標識符)(如果函數無法啟動其他程序,則返回錯誤)。 |
你如何找出VBA提供的功能?好問題。最好的來源是Excel VBA 系統。另一種方法是鍵入VBA,後跟一個句點。你會得到一個項目列表。帶有綠色圖標的那些是功能。如果此功能不起作用,請選擇 VBE 的工具 → 選項,單擊編輯器選項卡,然後選中自動列出成員旁邊的複選框。
一種顯示 VBA 函數列表的方法。
There are over 140 different functions available in VBA. Some are so specialized and obscure, you’ll never need them. Others, however, are quite useful for many applications.
Excel VBA’s Most Useful Built-In Functions
Function | What It Does |
Abs | Returns a number’s absolute value |
Array | Returns a variant containing an array |
Choose | Returns a value from a list of items |
Chr | Converts an ANSI value to a string |
CurDir | Returns the current path |
Date | Returns the current system date |
DateAdd | Returns a date to which a specified time interval has been added — for example, one month from a particular date |
DateDiff | Returns an integer showing the number of specified time intervals between two dates — for example, the number of months between now and your birthday |
DatePart | Returns an integer containing the specified part of a given date — for example, a date’s day of the year |
DateSerial | Converts a date to a serial number |
DateValue | Converts a string to a date |
Day | Returns the day of the month from a date value |
Dir | Returns the name of a file or directory that matches a pattern |
Err | Returns the error number of an error condition |
Error | Returns the error message that corresponds to an error number |
Exp | Returns the base of the natural logarithm (e) raised to a power |
FileLen | Returns the number of bytes in a file |
Fix | Returns a number’s integer portion |
Format | Displays an expression in a particular format |
GetSetting | Returns a value from the Windows registry |
Hour | Returns the hour portion of a time |
InputBox | Displays a box to prompt a user for input |
InStr | Returns the position of a string within another string (counting from the start) |
InStrRev | Returns the position of a string within another string (counting from the end) |
Int | Returns the integer portion of a number |
IsArray | 如果變量是數組,則返回 True |
日期 | 如果表達式是日期,則返回 True |
是空的 | 如果變量尚未初始化,則返回 True |
錯誤 | 如果表達式是錯誤值,則返回 True |
不見了 | 如果未將可選參數傳遞給過程,則返回 True |
一片空白 | 如果表達式不包含有效數據,則返回 True |
是數字的 | 如果表達式可以計算為數字,則返回 True |
綁定 | 返回數組維度的最小下標 |
案例 | 返迴轉換為小寫的字符串 |
剩下 | 從字符串的左邊返回指定數量的字符 |
連 | 返回字符串中的字符數 |
中 | 從字符串中返回指定數量的字符 |
分鐘 | 返回時間值的分鐘部分 |
月 | 從日期值返回月份 |
消息框 | 顯示一個消息框並(可選)返回一個值 |
現在 | 返回當前系統日期和時間 |
代替 | 用另一個子字符串替換字符串中的子字符串 |
RGB | 返回表示顏色的數字 RGB 值 |
對 | 從字符串的右邊返回指定數量的字符 |
轉數 | 返回 0 到 1 之間的隨機數 |
第二 | 返回時間值的秒部分 |
殼 | 運行一個可執行程序 |
空間 | 返回具有指定空格數的字符串 |
分裂 | 使用分隔符將字符串拆分為多個部分 |
平方 | 返回數字的平方根 |
細繩 | 返回重複的字符或字符串 |
時間 | 返回當前系統時間 |
計時器 | 返回自午夜以來的秒數 |
時間序列 | 返回指定小時、分鐘和秒的時間 |
時間值 | 將字符串轉換為時間序列號 |
修剪 | 返回沒有前導或尾隨空格的字符串 |
類型名稱 | 返回描述變量數據類型的字符串 |
綁定 | 返回數組維度的最大可用下標 |
案例 | 將字符串轉換為大寫 |
瓦爾 | 返回包含在字符串中的數字 |
工作日 | 返回代表一周中某一天的數字 |
年 | 從日期值返回年份 |
有關特定Excel VBA 函數的完整詳細信息,請在 VBA 模塊中鍵入函數名稱,將光標移動到文本中的任意位置,然後按 F1。
Smartsheet 是一個動態工作平台,可讓您管理專案、建立工作流程以及與團隊合作。
SharePoint 是一個基於 Web 的協作系統,它使用各種工作流程應用程式、「清單」資料庫和其他 Web 元件以及安全功能來控制業務群組的協同工作。
萬年日曆是一款手機上的日曆檢視應用程式,可協助您在手機上快速查看陰陽日期,從而安排您的重要工作。
Microsoft Outlook 是由 Microsoft Corporation 開發的商業和生產力應用程式。
ClickUp 是所有企業評價最高的生產力平台之一。Google、Booking.com、San Diego Padres 和 Uber 等大型企業都使用 ClickUp 來提高工作效率。
PDF 已成為閱讀、建立和傳送文字文件的常用格式。反過來,用於此類文件的程式數量也有所增加。PDF-XChange Viewer 是數量不斷增長的 PDF 檢視器之一。
Apache OpenOffice 提供了一整套可與 Microsoft 365 競爭的 Office 應用程序,尤其是 Excel、PowerPoint 和 Word。它允許您更有效地管理您的項目,並支援多種文件格式。
iTaxViewer軟體是當今最受歡迎的XML檔案讀取軟體。該軟體是用於讀取稅務總局 XML 格式電子報稅單的應用程式。
Nitro PDF Reader 是一款方便的 PDF 編輯器,涵蓋了大多數人每天使用 PDF 文件執行的所有基本任務。
Foxit Reader主要是一個PDF閱讀器,還允許您建立PDF文件、對其進行簽名、編輯以及添加註釋。它適用於作業系統,有 Microsoft Office 軟體包中各種程式的插件。