對於非IT開發人員,編程語言的選擇一般是VBA。VBA(Visual Basic for Applications)是Visual Basic的一種宏語言,是在其桌面應用程序中執行通用的自動化(OLE)任務的編程語言。主要能用來擴展Windows的應用程序功能,特別是Microsoft Office軟件。它也可說是一種應用程式視覺化的 Basic 腳本。非IT開發人員一般都是各職能部門的工程師兼任,工程師們在日常工作中有很多數據分析的需求或提高工作效率的訴求,而辦公室常用的都是Microsoft Office軟件特別是excel,所以VBA自然就是第一選擇,而且這個技能能夠被很多人掌握。
Excel、PPT及Word都可以用於VBA編程來實現某些需求,用的最多的還是Excel工具。對於專業的程序員而言,系統化學習對自己的工作非常有幫助;但對於非IT開發人員,我們不需要遵循這個規律,畢竟簡單而實用就可以達到我們的需求。后面的博客內容,將就VBA學習的一些重要點來展開闡述,這篇文章我們主要講講如何對excel表格進行定位。
前面我們說到,VBA的主要運用目的還是為了提高工作效率。其中有一點就是對重復項的操作進行批量處理,那么我們可以想象在一個excel數據表格里,需要對里面的數據進行批量處理,那么就需要讓系統識別:起點是什么,終點是什么?系統又如何來判斷起點和終點?
1)單列最大非空行
DANo = Sheets("xxx").Range("C65536").End(xlUp) '找到C列最大非空行的值
RowNum=Sheets(“xxx”).Range(“A65536”).End(Xlup).row '找到A列的最大非空行 RowNum2=Sheets(“xxx”).Columns(1).Find(DANo, LookAT:=xlpart).row '找到A列等於DANo值的那行的行數 (xlpart模糊匹配) RowStart = Sheets("xxx").Columns(1).Find(DANo, LOOKAT:=xlWhole).row + 1 '找到A列為DANo值的行的下一行 (xlwhole精確匹配,不能有其它字符)
2)最大非空列
ColumnNum= Sheets("xxx").Cells(1,colums.count).End(xlToLeft).column
3)如何刪除帶錯誤公式的行
Range(“A:A”).specialCells(xlcelltypeformulas,xlerror).entireRow.delete '
通過找到出發點與起始點,為系統自動計算指定了范圍。