【分享成果,随喜正能量】扔掉擾心的煩惱,忘記失敗的沮喪,封藏痛苦的記憶,堅定地把許多的過去踩在腳下,留在身後。選擇了瞬間的清醒,就等于選擇了瞬間的成長。用今天的時間去沉湎過去是對今天的背叛和蹂躏,使今天成為明天的追悔,而用今天的時間來癡念未來,則是對明天的最大傷害和不敬,使未來無所依托。不說人短,不思人過;不念人惡,不揚人錯。能過就是生活,能走就是道路。莫嫌路颠簸,世界本曲折。
《VBA之EXCEL應用》是非常經典的,是我推出的第七套教程,定位于初級。這套教程從簡單的錄制宏開始講解,一直到窗體的搭建,内容豐富,實例衆多。大家可以非常容易的掌握相關的知識,這套教程共三冊,十七章,都是我們在利用EXCEL工作過程中需要掌握的知識點,希望大家能掌握利用。今日講解的内容是“VBA之EXCEL應用”的第十五章“ActiveX控件(ActiveX Controls)”的第14節:工作表控件綜合應用之代碼實現
第十四節 工作表中控件的綜合應用之二 在上一講中,我們完成了控件的初步搭建,這講我們先來講解控件的屬性設置,然後再講解代碼的實現過程。
4 貸款計算器的控件設置 1) ScrollBar1 滾動條控件1
在這個控件上我們要設置的有5個屬性:分别是Max,Min,SmallChange,LargeChange,這些屬性分别代碼這個控件的最大,最小值及每次變化的最小和最大值,我們給出的屬性值分别是100,1,1,4。最後将這個控件的關聯上單元格F6.
2) ScrollBar2 滾動條控件2
和上一個控件類似,在這個控件上我們要設置同樣的的有5個屬性:分别是Max,Min,SmallChange,LargeChange,這些屬性分别代碼這個控件的最大,最小值及每次變化的最小和最大值,我們給出的屬性值分别是30,1,1,5。最後将這個控件關聯上單元格F8.
3)OptionButton1 選項按鈕1
在這個控件上我們要設置的屬性是“Caption”,表示在控件上将顯示的名稱,我們這裡将這個屬性設置為“月付”,表示按月付款。3)OptionButton1 選項按鈕2
這個控件和上個控件類似,我們要設置的屬性是“Caption”,表示在控件上将顯示的名稱,我們這裡将這個屬性設置為“年付”,表示按年付款。
5 貸款計算器的代碼實現 我們看代碼部分:
Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then Range(C12).Value = 每月還款
Application.Run Calculate
End Sub
Private Sub OptionButton2_Click()
If OptionButton2.Value = True Then Range(C12).Value = 每年還款
Application.Run Calculate
End Sub
Private Sub ScrollBar1_Change()
Range().Value = ScrollBar1.Value / 1000
Application.Run Calculate
End Sub
Private Sub ScrollBar1_Scroll()
Range().Value = ScrollBar1.Value / 1000
Application.Run Calculate
End Sub
Private Sub ScrollBar2_Change()
Application.Run Calculate
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = $D$4 Then Application.Run Calculate
End Sub
Sub Calculate()
Dim loan As Long, rate As Double, nper As Integer
loan = Range().Value
rate = Range().Value
nper = Range().Value
If Sheet13.OptionButton1.Value = True Then
rate = rate / 12
nper = nper * 12
End If
Sheet13.Range(D12).Value = -1 * WorksheetFunction.Pmt(rate, nper, loan)
End Sub
代碼截圖:
代碼解讀:
1)Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = $D$4 Then Application.Run Calculate
End Sub
假如工作表的D4單元格發生了改變,那麼将運行Calculate
2)Private Sub ScrollBar1_Change()
Range().Value = ScrollBar1.Value / 1000
Application.Run Calculate
End Sub
Private Sub ScrollBar1_Scroll()
Range().Value = ScrollBar1.Value / 1000
Application.Run Calculate
End Sub
Private Sub ScrollBar2_Change()
Application.Run Calculate
End Sub
假如滾動條控件1和2發生改變時将運行Calculate
3)Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then Range(C12).Value = 每月還款
Application.Run Calculate
End Sub
Private Sub OptionButton2_Click()
If OptionButton2.Value = True Then Range(C12).Value = 每年還款
Application.Run Calculate
End Sub
假如選項按鈕發生改變時将運行Calculate,同時給D12單元格的擡頭賦值。
4)loan = Range().Value
rate = Range().Value
nper = Range().Value
取得各個參數的值
5)Sheet13.Range(D12).Value = -1 * WorksheetFunction.Pmt(rate, nper, loan)
利用PMT函數求出對用各個參數的應還款金額。
6 貸款計算器的實際應用效果 下面我們看一下上述代碼的運行效果:
上述界面表明,我們借了100元錢,如果利率是2.5%,30年還清,那麼每月還0.4元。
如果我們按年還,上述計算器表明我們每年需要還款4.78元。
今日内容回向:
1) 貸款計算器中哪些代碼寫在了工作表模塊中?
2) 貸款計算器中哪些代碼寫在了标準模塊中?為什麼?
3) 理解各個事件的意義。
本講内容參考程序文件:工作簿15.xlsm
分享成果,随喜正能量
VBA的學習教程(初級、中級、高級): VBA是利用OFFICE實現個人小型辦公自動化的有效手段(工具)。這是我對VBA的應用界定。在取代OFFICE新的辦公軟件沒有到來之前,誰能在數據處理方面做到極緻,誰就是王者。其中登峰至極的技能非VBA莫屬!我記得20年前自己初學VBA時,那時的資料甚少,隻能看源碼自己琢磨,真的很難。20年過去了,為了不讓學習VBA的朋友重複我之前的經曆,我根據自己多年VBA實際利用經驗,推出了八部VBA專門教程,學習順序七、一(或者四)、三、二、六、五;或者七、八。其中七,一(或者四)是初級;三,二,八是中級;六,五是高級:
第一套:VBA代碼解決方案 是VBA中各個知識點的講解,教程共147講,覆蓋絕大多數的VBA知識點,提供的程序文件更是一座不可多得的代碼寶庫,是初學及中級人員必備教程;目前這套教程提供的版本是修訂第二版,程序文件通過32位和64位兩種OFFICE系統測試。
第二套:VBA數據庫解決方案 數據庫是數據處理的專業利器,教程中詳細介紹了利用ADO連接ACCDB和EXCEL的方法和實例操作,适合中級人員的學習。目前這套教程提供的是修訂第一版教程,程序文件通過32位和64位兩種OFFICE系統測試。
第三套:VBA數組與字典解決方案 數組和字典是VBA的精華,字典是VBA代碼水平提高的有效手段,值得深入的學習,是初級及中級人員代碼精進的手段。目前這套教程提供的版本是修訂第一版,程序文件通過32位和64位兩種OFFICE系統測試。
第四套:VBA代碼解決方案之視頻 是專門面向初學者的視頻講解,可以快速入門,更快的掌握這門技能。這套教程是第一套教程(修訂一版)的視頻講解,視頻更易接受。
第五套:VBA中類的解讀和利用 這是一部高級教程,講解類的虛無與肉身的度化,類的利用雖然較少,但仔細的學習可以促進自己VBA理論的提高。這套教程的領會主要是讀者的領悟了,領悟一種佛學的哲理。目前這套教程提供的版本是修訂第一版,程序文件通過32位和64位兩種OFFICE系統測試。
第六套教程:VBA信息獲取與處理,這是一部高級教程,涉及範圍更廣,實用性更強,面向中高級人員。教程共二十個專題,包括:跨應用程序信息獲得、随機信息的利用、電子郵件的發送、VBA互聯網數據抓取、VBA延時操作,剪切闆應用、Split函數擴展、工作表信息與其他應用交互,FSO對象的利用、工作表及文件夾信息的獲取、圖形信息的獲取以及定制工作表信息函數等等内容。程序文件通過32位和64位兩種OFFICE系統測試。
第七套教程:VBA之EXCEL應用 這是一部初級教程這部教程共三冊,從從創建宏、對話框、工作簿和工作表對象、單元格對象等基礎内容講起,到循環結構、錯誤處理、字符串操作、日期和時間、事件、數組應用,函數過程等方面,一直講解到控件和窗體對象的應用都是我們提高自己EXCEL水平的必須。
第八套教程:VBA之WORD應用 是圍繞“面向對象編程”展開的講解,讓大家充分認識Word中VBA的對象,以及對象的屬性、方法及利用。教程共分三冊,十六章,其中前十五章是各種對象屬性、方法的講解,每節都有專門的實例說明這些屬性方法的具體應用,最後一章是結合具體應用場景的講解,詳細講解了二十八個實際工作中有代表性的實例,緊扣word數據的批量處理,發揮VBA的長處。本套教程實例衆多,大家可以拿來即用,或者修正後加以利用。由于這套教程是圍繞“面向對象編程”來展開,建議大家先學《VBA之Excel應用》,對VBA中的對象、屬性、方法、事件有一定認識後再來學習這套教程。
,