• 在数据量很大时,如何用vba代替countif函数进行计数统计?

    countif函数可以统计单元额区域中指定数据的出现次数,是一个常用的excel函数。

    在数据量较少时,这个函数的统计可以很轻松的完成。

    但是当遇到十万行级别的数据时,再利用countif函数进行技术统计会导致excel陷入死机或卡机状态,函数的计算非常缓慢。

    为了提高在一列单元格[……]

    阅读全文

  • 如何用vba给单元格区域添加数据有效性下拉列表?

    在vba中Range对象的Validation属性可以返回数据有效性对象Validation

    要给单元格区域添加数据有效性,需要先用Validation对象的Delete方法删除之前的数据有效性,然后再用Validation对象的Add方法添加。

    以下是一段给单元格添加下拉列表的示例代[……]

    阅读全文

  • excel vba Range对象的Characters属性无效的解决办法

    在excel vba中Range对象的Characters属性可以返回Characters对象。

    Characters对象可以操作单个单元格中的部分字符,比如通过Characters对象的Font属性可以设置单元格中部分字符的字体格式,比如添加下划线、加粗、加颜色等等。

    再比如通过Cha[……]

    阅读全文

  • 如何在vba使用自动筛选?

    在excel工作表中,通过单击“数据”选项卡下的“排序和筛选”组中的“筛选”按钮可以创建单元格区域的自动筛选,如下图所示:

    每个工作表通过上述方式有且只能创建一个单元格区域的自动筛选。

    在vba中,Worksheet对象的AutoFilter属性可以返回上述工作表中的唯一的自动筛[……]

    阅读全文

  • 如何用vba给单元格的部分字符添加下划线?

    下划线是在字体中设置。

    给单元格内容添加下划线,可以整体添加下划线也可以部分字符添加下划线。

    整体添加下划线使用Range对象的Font属性设置,部分字符添加下划线使用Range对象的Characters属性返回部分字符对象,然后再用Font属性设置。

    添加下划线通过设置Font对[……]

    阅读全文

  • 如何用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,[……]

    阅读全文