之前寫了VBA入門只需3天的系列文章。總計3篇。相信大家看過之後就可以完成批量合併100個Sheet這樣的需求了。以下是原貼的鏈接。大家可以參考。
接下來的一段時間,預計會製作一款供應商增刪改查的小工具,方便自己平時在工作的時候管理供應商。並且後期這些供應商將會為我們提供打印、導出賬單的數倉功能。
今天晚上剛剛構思了新增供應商的界面。後期會更新改供應商,查詢供應商和刪除供應商的界面。
這邊的思路是每個信息都必須要填寫,如果沒有填寫則不能添加成功。
另外如果供應商重複,則無法添加。
界面是用ActiveX控件畫出來的。底色是單元格的顏色。
兩個按鈕添加了button_click事件。由於中間還是涉及到了比較多的細碎點,所以今天沒辦法一下子把所有內容都窮盡,只能分開一部分一部分記錄。
今天我們來說說如何引用Sheet
如果所有的操作都是在當前的Sheet完成的話,是不需要引用Sheet的。
舉個例子,當前有Sheet1和Sheet2兩個Sheet,假設當前選中的是Sheet2,我們輸入:Range("A1") = "Hello World",那這兩個Sheet中,哪個單元格會被賦值為Hello World呢。答案是Sheet2單元格。
當單元格前沒有Sheet的時候,引用的默認都是當前的Sheet。
因此,當我們處在Sheet2,又希望Sheet1的A1單元格被賦值為Hello World時,代碼就應該這樣被修改:Sheet1.Range("A1") = "Hello World"。
以下來介紹一下,引用Sheet的所有方法。
1、使用工作表的代碼名稱
使用工作表的代碼名稱,大家可以使用Alt+F11打開VBA編輯器,
左側就是工作表的代碼名稱了。
不管我們如何修改Sheet的名稱,在代碼名稱中,他們仍然是Sheet1、Sheet2。使用代碼名稱來引用Sheet是比較好用的方法,適用於我們知道每個Sheet的內容,並且Sheet名稱不是需要判斷的場景。
2、使用工作表的索引號
使用工作表的索引號,寫法是用一對括號把數字括起來,參考如下:
Sheets(1).Range("A1") = "Hello World"
請注意是Sheets(1)而不是Sheet(1),如果沒有s,是會報錯的。
而索引號的順序,就是Excel下方Sheet導航欄展示的順序。
大家可以看代碼演示,索引號是2,那就是總左至右第二個Sheet,即使這個Sheet的名稱是Sheet1。
3、使用工作表名稱來引用
使用工作表的名稱來引用,顧名思義,就是工作表叫什麼名稱,引用的時候就如何使用。使用方法如下:
Sheets("我的名稱").Range("A1") = "Hello World"
如圖:
當我們知道如何引用不同Sheet的數據的時候,
我們就可以自由的操作,將我們的數據存放到對應的地方。
明天,我們將對ActiveX的控件進行說明,以及我們要如何設置我們的結構。