1. 程式人生 > 其它 >VBA知識--如何定位excel的某處區域

VBA知識--如何定位excel的某處區域

  對於非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 '

通過找到出發點與起始點,為系統自動計算指定了範圍。