• 如何用vba在excel工作表中添加直线?

    要用vba在工作表中添加直线,可以使用Shapes对象的AddLine方法。

    以下代码举例说明了用AddLine方法添加直线:

    除了AddLine方法还可以使用AddConnector方法。

    以下代码举例说明了用Add[……]

    阅读全文

  • 如何用vba删除网格线?

    默认情况下excel工作表都是有显示网格线的。

    如果要用vba取消显示网格线,可以用Window对象的DisplayGridlines属性来控制网格线的显示与否。

    如果要控制是否打印网格线,可以用PageSetup对象的PrintGridlines属性来控制是否要打印网格线。

    以下[……]

    阅读全文

  • 如何用vba批量删除工作簿连接?

    在excel中可以通过“数据”选项卡中的“获取外部数据”连接各种不同的数据源,然后可以在“连接”组中查看当前工作簿的所有连接。

    如下图所示为一个工作簿中的连接:

    在vba中WorkbookConnection对象代表上图中的工作簿连接,所有的工作簿连接组合成Connections[……]

    阅读全文

  • 如何用vba遍历excel工作簿中名称管理器中的名称?

    在excel中可以通过定义名称的方式把给单元格区域取别名,这些别名可以用于函数公式中。

    除了通过定义名称的方式,当插入“表格”后也会自动添加名称。

    除了可见的名称以外,还有一些内置的不可见名称如 Database, Print_Area, 或者 Auto_Open等。

    在vba中N[……]

    阅读全文

  • 如何用vba修改excel单元格区域range对象的行高和列宽?

    在excel中单个单元格的行高和列宽是与单元格所在的行的行高和单元格所在列的列宽一致的。

    我们无法单独修改某个单元格的行高或列宽,只能通过修改单元格所在行的行高和所在列的列宽来实现单个单元格的行高和列宽的修改。

    vba的Range对象中与高度相关的属性有RowHeightHeight,[……]

    阅读全文

  • 如何在vba中编写用任意分隔符合并单元格内容的自定义函数?

    将多个单元格的内容用指定的分隔符合并是一个通用的需求。

    以下提供了一个在vba中编写的通用的用任意分隔符合并单元格内容的自定义函数:

    其中参数oRng可以是excel单元格区域,也可以是excel数组, sDelimiter[……]

    阅读全文

  • 如何写vba根据任意选择的字段名拆分工作表数据?

    将单元格区域的数据按照某个字段进行拆分,是一个经常需要遇到的问题。

    以下代码利用字典按照任意字段拆分单元格区域的数据,同时将拆分后的数据单独另存为一个excel工作簿。

  • 如何在vba中将单元格的文本地址转换为range对象?

    如何在vba中返回单元格Range对象的地址?一文中我们介绍了如何返回单元格的地址。

    相反地,我们也会遇到需要把单元格地址转换为单元格Range对象。

    vba中提供了Application对象的Evaluate方法可以直接把正确的单元格地址转换为单元格Range对象。

    代码如下:[……]

    阅读全文

  • 如何在vba中返回单元格Range对象的地址?

    在编写vba解决方案时,有时候会遇到需要获得单元格的地址。

    在vba中可以使用range对象的Address属性,它的语法如下:

    它的5个参数都是可选的,其中RowAbsolute , ColumnAbsolute参数默认为[……]

    阅读全文

  • 为什么在vba中使用Application.InputBox无法选择单元格区域?

    Application.InputBox 方法可以弹出选择对话框,选择单元格区域。

    但是如果在vba代码中设置了Excel.Application.ScreenUpdating = False 则会导致无法选择单元格区域。

    如果要设置Excel.Application.ScreenUpd[……]

    阅读全文