VBA知识--如何定位excel的某处区域

时间:2024-02-24 20:06:15

  对于非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 \'

 通过找到出发点与起始点,为系统自动计算指定了范围。