在excel vba開發過程中經常會遇到遍歷sheet中的資料,常常我們會使用
for i=1 to maxrow
for j=1 to maxcolumn
next j
next i
其中的maxrow和maxcolumn是sheet中資料所在行數的最大值和列數最大值(也就是結尾位置),使用usedrange.rows.count和usedrange.columns.count只能獲取到資料總共行數和列數,往往資料區存在空白的行和列,這樣就usedrange.rows.count和usedrange.columns.count就有可能小於
maxrow和maxcolumn,縮小了資料遍歷的範圍,那我們怎樣獲取
maxrow和maxcolumn的值呢?
我們可以使用find()函式。
maxrow = cells.find("*", range("a1"), xlformulas, , xlbyrows, xlprevious).row
maxcolumn = cells.find("*", range("a1"), xlformulas, , xlbycolumns, xlprevious).column
這樣就能遍歷完整的資料區了。
find函式
在區域中查詢特定資訊,並返回 range物件,該物件代表用於查詢資訊的第乙個單元格。如果未發現匹配單元格,就返回 nothing。本方法不影響選定區域或活動單元格。
expression.find(what, after, lookin, lookat, searchorder, searchdirection, matchcase, matchbyte, serchformat)
expression 必需。該表示式返回乙個 range物件。
what variant 型別,必需。要搜尋的資料。可為字串或任意 microsoft excel 資料型別。
after variant 型別,可選。表示搜尋過程將從其之後開始進行的單元格。此單元格對應於從使用者介面搜尋時的活動單元格位置。值得注意的是,after 必須是區域中的單個單元格。請記住搜尋是從該單元格之後開始的;直到本方法繞回到指定的單元格時,才對其進行搜尋。如果未指定本引數,搜尋將從區域的左上角單元格之後開始。
lookin variant 型別,可選。資訊型別。
lookat variant 型別,可選。可為以下 xllookat 常量之一:xlwhole 或 xlpart。
searchorder variant 型別,可選。可為以下 xlsearchorder 常量之一:xlbyrows 或 xlbycolumns。
searchdirection xlsearchdirection 型別,可選。搜尋的方向。
xlsearchdirection 可為以下 xlsearchdirection 常量之一。
xlnext 預設值
xlprevious
matchcase variant 型別,可選。若為 true,則進行區分大小寫的查詢。預設值為 false。
matchbyte variant 型別,可選。僅在選擇或安裝了雙位元組語言支援時使用。若為 true,則雙位元組字元僅匹配雙位元組字元。若為 false,則雙位元組字元可匹配其等價的單位元組字元。
searchformat variant 型別,可選。搜尋的格式
如何在EXCEL SHEET中 動態新增控制項
excel sheet中如何新增下拉框或者 文字框,命令按鈕?下面的方法就可以 1 新建worksheet 2 開啟visiual basic編輯器 3 選擇sheet1 的worksheet selectionchange 事件 4 編寫 如下 private sub worksheet sele...
如何在EXCEL SHEET中 動態新增控制項
excel sheet中如何新增下拉框或者 文字框,命令按鈕?下面的方法就可以 1 新建worksheet 2 開啟visiual basic編輯器 3 選擇sheet1 的worksheet selectionchange 事件 4 編寫 如下 private sub worksheet sele...
vue中非同步資料獲取(確保資料被獲取)
import from api article 在created中即開始獲取 created methods await fetchlist this listquery 被await阻塞的 const items data.items this list items.map v this list...