• VBA开发手记


    本博文,将主要记录VBA for Excel项目中遇到并解决的问题和不熟悉的知识点,不定期更新。

    1.日期单元格前面加空格就变成文本了,find查找参数注意:what:=Cstr(Date),lookat:=2

    2.

    Function ff()
        ff = 123
        MsgBox "hello"
    End Function

    该函数在单元格中使用时,会先弹出 消息框 确定后,再返回 123,说明函数返回值是等该函数所有代码执行完才返回。

     3.加号与&的区别?

     112” & “34” = “1234 212” + “34” = “1234 3 
     4 
     512” & 34 = “1234 612” + 34 = 46  ‘类型自动转换
     7 
     8 
     9 “ab” & 34 = “ab34”
    10 “ab” + 34 =  ‘类型自动转换失败,报错

     4.Range的不常用使用用法

    1 Range("C1,D2,A1:A2").Cells.Count              '个数为4
    2 Range(Cells(1, 1), Cells(1, 4)).Cells.Count    '个数为4
    3 Range(Cells(1, 1))  ‘这种写法错误

     5.给单元格区域赋值的不常见写法。

    1 Range("A1:B1") = [{"编号", "目录"}]    '写入标题,采用数组形式,可以一次性写入多个单元格
    2. 
    If [=SUM(1/COUNTIF(A1:A10,A1:A10))] < 10 Then MsgBox "区域中存在重复值,程序无法继续", vbOKOnly, "友情提示"

     6.工作表的codeName属性就是VBE中每一张工作表对象的名称,可以在自己的属性窗口中修改,用codeName可以直接代表对应的工作表对象使用。

     7.Worksheets(1).Copy 将直接生成一张未保存的工作簿,内容为Worksheets(1)

    8.如果新建的工作簿未保存,则 Len(Dir(ActiveWorkbook.FullName)) = 0.

    9.由于end释放一切变量(包括各种级别的变量,如:过程级,模块级等),所有a显示的始终是1

    1 Sub t()
    2     Static a As Byte
    3     a = a + 1
    4     MsgBox a
    5     End
    6 
    7 End Sub

     10.range区域赋值给变量时,该变量下标为1.   Evaluate函数创建的数组默认下标也是1

  • 相关阅读:
    阶乘递归实现
    队列
    1+2+3+...+100用递归实现
    快速排序C语言实现
    js的onfocus,onblur事件
    CSP2021 游记 菜到离谱
    700题复习计划
    [传递闭包] P2881 [USACO07MAR]排名的牛Ranking the Cows
    【笔记】序列分块
    【题解】UVA10930 A-Sequence
  • 原文地址:https://www.cnblogs.com/carlous/p/10760944.html
Copyright © 2020-2023  润新知