精华内容
下载资源
问答
  • VBA计算数独表格自动运算,所有符合数独表格输出
  • 在ArcGIS属性表中,一般不会包含实体几何信息,可以采取VBA进行计算。下面是几个简单的代码:1推荐给不会使用AO的朋友;2可以保存为CAL文件以备下次方便使用
  • vba代码很简单,如下;数据来源于“国务院办公厅关于2020年部分节假日安排的通知” =workDay(YEAR(TODAY())&"-"&MONTH(TODAY())&"-"&B3) '判断指定日期是否上班 Function workDay(rq) Dim cel As Range If ...
  • VBA编程知识点(2)——日期学习自杨洋老师《全民一起学VBA》1. excel中的日期型单元格,只能表示1900年1月1日以后的时间。1900年1月1日以前的时间,使用日期公式进行处理会出错的。单元格存放的日期与date所能表达...

    967fb4c8b82f969ee283bfe4abcf6435.png

    VBA编程知识点(2)——日期

    学习自杨洋老师《全民一起学VBA》

    1. excel中的日期型单元格,只能表示1900年1月1日以后的时间。1900年1月1日以前的时间,使用日期公式进行处理会出错的。

    单元格存放的日期与date所能表达的日期是不一样!

    2. 时期型数据的关键字是date。

    存放的时间精度,精确到秒。

    取值范围:公元100年1月1日0点0分0秒到公元9999年12月31日23点59分59秒。

    为一个日期变量赋值具体日期时,两头应该加上#号,先日期,后时间,日期里先月后日(但显示到屏幕的时候是“年月日”的顺序),用斜杠相隔;时间用冒号相隔。

    示例:d = #1/19/2018 12:23:56#

    3. 获取系统时间函数

    Date函数,获取当前系统日期(年/月/日)。Date不仅代表一个数据类型,也是一个函数。

    Time函数,获取当前系统时间(时/分/秒)。

    Now函数,获取完事系统时间(年/月/日/时/分/秒)。

    4. 时间数据解析函数

    Year():返回时间的年份数字

    Month():返回时间的月份数字

    day():返回时间的当月第几日的数字

    weekday():返回时间的当周第几日的数字

    hour():返回时间的当日第几小时的数字

    minute():返回时间的该小时第几分钟的数字

    second():返回时间的该分钟第几秒的数字

    5. 时间运算函数

    Datediff函数

    作用:计算两个日期之间的时间差

    格式:datediff(单位,起始时间,截止时间)

    单位:

    “yyyy”-年;“m”-月;“q”-季度;“d”-日;“y”-当年第几日,一般情况下运行结果与“d”相同;“w”-周(按实际天数计算,不足7天为0周);“ww”-周(按跨周日数计算,只要相隔一个周日即为一周);“h”-小时;“n”-分钟;“s”-秒。

    示例:datediff ("yyyy",#8/3/1996#,#5/6/2011#)

    Dateadd函数

    作用:计算一个时间点加上指定时间后的新的时间点。

    格式:dateadd(单位,跨越长度,起始时间)

    单位:

    “yyyy”-年;“m”-月;“q”-季度;“d”-日;“y”-当年第几日,一般情况下运行结果与“d”相同;“w”-周内第几日,一般情况下运行结果与“d”相同;“ww”-周;“h”-小时;“n”-分钟;“s”-秒。

    示例:dateadd("d",500,#5/28/2016#)

    6. 日期与数字是可以相加的,也可以把数字赋值给日期变量

    日期型数据本质上是一个double类型的数字。

    0代表1899年12月30日0时0分0秒

    整数部分每增减1就是增减1天,小数部分0.1代表0.1天,即2.4小时。但是小数部分加减法运算导致的时间变化比较复杂,比如正负号的转换,溢出处理等,请勿轻易使用。

    示例:

    dim d as date

    d = 1

    msgbox d

    结果为1899/12/31

    展开全文
  • 适用场景:你有一张Excel表,其中录入了题库,你需要在这张表中练习答题并需要计算准确率。 Private Sub Worksheet_Change(ByVal Target As Range) '这是填答案列的列号 row1 = 3 '这是答题次数列的列号 row2 = ...

    适用场景:你有一张Excel表,其中录入了题库,你需要在这张表中练习答题并需要计算准确率。

    Private Sub Worksheet_Change(ByVal Target As Range)
    
    '这是填答案列的列号
    row1 = 3
    '这是答题次数列的列号
    row2 = 20
    '这是答题正确次数列的列号
    row3 = 19
    '这是正确答案列的列号
    row4 = 5
    
    'MsgBox Target.Address
    
        For Each cell In Target
        
            '判断是否是答案列
            If cell.Column = row1 Then
            
            '是答案列
            
                '新答案是不是一个空值
                If cell.Value = "" Then
                
                '是,什么都不做
                
                Else
                '不是,累计答题次数
                    
                    Cells(cell.Row, row2) = Cells(cell.Row, row2) + 1
                    
                    '答题是否正确,累计正确答题次数
                    
                    If Cells(cell.Row, row1) = Cells(cell.Row, row4) Then
                    
                    Cells(cell.Row, row3) = Cells(cell.Row, row3) + 1
                                    
                    End If
                            
                End If
                    
            Else
            '不是答案列,什么都不做
            End If
        
        Next
    
    End Sub
    展开全文
  • 朋友们好,今日讲VBA代码解决方案的第50讲:VBA中求最大值、最小值的.和上节的内容一致,在VBA中我们可以利用的函数不如EXCEL中多,但是,我们可以借助于EXCEL的函数,来解决我们面临的问题。在VBA中虽然没有内置的...

    ca230eb647a39aab5fa67b3a30995b72.png

    朋友们好,今日讲VBA代码解决方案的第50讲:VBA中求最大值、最小值的.和上节的内容一致,在VBA中我们可以利用的函数不如EXCEL中多,但是,我们可以借助于EXCEL的函数,来解决我们面临的问题。在VBA中虽然没有内置的函数可以进行最大、最小值的查找,但仍可以借助工作表Max、Min函数可以快速地在工作表区域中查找最大、最小值。

    在本节的知识点中需要注意:

    1 For Each 循环,这里就不再讲解,有不清楚的可以看看我上节的文章。

    2 WorksheetFunction 表示应用的是工作表函数

    3 MsgBox 这里是弹出对话框,告诉我们计算机算出的结果。

    4 rng.Interior.ColorIndex 是单元格颜色的设置

    这里再次看看一下EXCEL中各个颜色的值

    b61ef3d9ad709c912e38226c26453210.png

    下面我们看看代码:

    Sub Myseeks()

    Dim rng As Range

    Dim myRng As Range

    Dim k1 As Integer, k2 As Integer

    Dim mymax As Double, mymin As Double

    Set myRng = Sheets("Sheet3").Range("a1:f20")

    For Each rng In myRng

    If rng.Value = WorksheetFunction.Max(myRng) Then

    rng.Interior.ColorIndex = 3

    k1 = k1 + 1

    mymax = rng.Value

    ElseIf rng.Value = WorksheetFunction.Min(myRng) Then

    rng.Interior.ColorIndex = 5

    k2 = k2 + 1

    mymin = rng.Value

    Else

    rng.Interior.ColorIndex = 0

    End If

    Next

    MsgBox "最大值是:" & mymax & "共有 " & k1 & "个" _

    & Chr(13) & "最小值是:" & mymin & "共有 " & k2 & "个"

    End Sub代码解析:

    Myseeks过程在工作表单元格区域中查找最大、最小值,并将其所在的单元格底色分别设置为红色和蓝色。

    第2行到第5行代码声明变量类型。

    第6行代码使用关键字Set将单元格引用赋给变量myRng。

    第7行到第19行代码遍历单元格区域,使用工作表Max、Min函数判断单元格数值是否是所在区域的最大、最小值,如果是,将其所在的单元格底色设置为红色或蓝色,并保存其数值和数量。

    第20、21行代码使用消息框显示最大、最小值数值和数量。

    运行Myseeks过程后将工作表区域最大、最小值所在的单元格的底色设置为红色或蓝色并用消息框显示其数值和数量.

    下面看代码实测,代码截图:

    2dffead37f8d8205b0ee0bd47f9d9f47.png

    运行截图:

    e7c3b87b567ff37bc17dfb51703f7966.png

    今日内容回向:

    1 如何在VBA中获取最大最小值?

    2 如何计算最大最小值的个数?

    这一系列文章是根据我多年的工作经验编写的,也是一直在利用的工具,非常方便好用。现在分享出来,希望能对同样在职场打拼的朋友有些许的帮助,使你的工作更加高效、流畅。朋友们有问题请随时提出来,我们一起探讨学习。对数据分析有需要的公司、组织或个人可以直接联系我,及时为你提供专业的定制技术支持。

    欢迎大家到我的自媒体平台沟通交流:个人微信号“NZ9668”、头条号“VBA专家”、百家号“VBA与GO语言”、微信公众号“NZ_9668”、社群“VBA学习交流群”。

    工作不是一切。工作是每个人安身立命、成长发展的基础。但你要知道工作是永远也做不完的,时间会抹去很多问题。多关注自己、家人和朋友,这些才是我们生活中更为重要的东西。

    展开全文
  • VBA计算WPS 表格ET EXCEL中的行数和列数   每种方法中上面的是Excel的行数,下面的是Excel的列数。 方法1: ActiveSheet.UsedRange.Rows.Count ActiveSheet.UsedRange.Columns.Count 缺点:有时可能会比实际...
    用VBA计算WPS 表格ET EXCEL中的行数和列数
      
    每种方法中上面的是Excel的行数,下面的是Excel的列数。
    方法1:
    ActiveSheet.UsedRange.Rows.Count
    ActiveSheet.UsedRange.Columns.Count
    缺点:有时可能会比实际数大一些,原因是如果你把最后几行(列)数据清除后(非整行或整列删除),
    
    用这个命令仍返回未清除前的值。就是说现在虽然是空的,但是你曾经用过也算你的。
    
    方法2:
    ActiveSheet.Range("A65535").End(xlUp).Row
    ActiveSheet.Range("IV1").End(xlToLeft).Column
    可以简写为:
    ActiveSheet.[A65536].End(xlUp).Row
    ActiveSheet.[IV1].End(xlToLeft).Column
    缺点:只能计算出一列(行)的最后一个单元格所在的行(列)数。本例是只返回A列最后一个单元格所占
    
    的行数。
    
    方法3:
    ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
    ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Column
    缺点:在工作表进行对删除或清除操作时也会变得比实际情况大。
    
    方法4:
    ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
    ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
    缺点:在工作表进行对删除或清除操作时也会变得比实际情况大。
    
    方法5:
    Application.CountA(ActiveSheet.Range("A:A"))
    Application.CountA(ActiveSheet.Range("1:1"))
    只能统计一列(行)的实际使用情况,得到的不一定是最后一行(列)的位置。方法2的数值比此方法大时
    
    ,说明在A列的数据间有空白未填写的单元格。
    
    方法6:
    ActiveSheet.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByRows, 
    
    SearchDirection:=xlPrevious).Row
    ActiveSheet.Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, 
    
    SearchDirection:=xlPrevious).Column
    效果同方法2
    
    以上方法中比较常用的是方法1和方法2。

     

    转载于:https://www.cnblogs.com/tmdsleep/p/4741196.html

    展开全文
  • VBA计算字符串长度——Len函数

    千次阅读 2020-01-12 16:47:30
    Len 函数 返回 Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数。 语法 Len(string | varname) Len 函数的语法有下面这些部分: 部分 ...如果 varname 包含 Null,会返回 N...
  • 通过 Excel 使用 VBA 计算协方差

    千次阅读 2016-02-17 14:32:49
    作为一名执著的 C# 程序员,当一位学经济的老友从国外找来,让我帮他写完 VBA 作业的时候,一开始,其实我是拒绝的。 各路VB大神,不要嘲笑在下啊,我可是足足用了一个小时才在 Excel 里到了编写 VB 代码的地方 ...
  • 对于Excel来说几乎是家喻户晓,但人们对Excel-VBA了解并不普遍。VBA是Visual Basic for Application的缩写,是集成在Office产品中的开发语言和开发环境。掌握VBA可以使办公效率变得更快。特别在统计分析方面,VBA...
  • 大家好,我们今日继续讲解VBA代码解决方案的第86讲内容:VBA代码的优化篇,使用工作表函数要比代码计算快很多。在代码的优化的上一篇中我讲到了关闭屏幕更新可以有效的节约程序的运行时间,那么是不不是必须要关闭...
  • 如何用VBA计算个人所得税

    千次阅读 2018-06-09 16:47:23
    Sub i个人所得税()For Each Sheet In WorksheetsFor i = 2 To xx = Sheet.UsedRange.Rows.CountDim a%, b% a = Sheet.Cells(i, "I") If a < 3500 Then Range(Sheet.Cells(i, "...
  • 最近给一位朋友写了一段VBA程序,是一个中小型的数据统计,文件是从多达几万条的数据中统计,形成若干个报表。之前这位朋友是用EXCEL函数公式来处理,往往要10多分钟时间,程序做好后,在W8.1,64位,4GRAM,1.6G主频...
  • 操作思路:1.使用 ADODB.stream 把字符串转换为UFT-8的编码集存储到文件 AA2....字符串截取第二行,去空格,输出MD5值VBA代码:strBody = "VBA变量字符串转换为UFT-8后MD5加密"'MD5计算Dim stream As...
  • Excel_VBA 计算数组的长度

    千次阅读 2012-09-29 15:09:15
    UBound 函数 返回一个 Long 型数据,其值为指定的数组维可用的最大下标。 LBound 函数 返回一个 Long 型数据,其值为指定数组维可用的最小下标。...计算数组的长度: length = UBound(a) - LBound(a) + 1 ...
  • Sub 循环计算() For i = 2 To 41 If Range("k" & i) <= 5000 Then Range("i" & i) = "0" ElesIF Range("k" & i) >= 5001 And Range("k" & i) <= 8000 Range("i" & i) = ("k" - 5000...
  • 最近公司HR和Finance想算员工的工作...计算两个日期之间的工作日,用VBA,因量大,最好用数组做 Sub kk() Dim arr, i&, j&, m& arr = Sheet2.Range("b3:f4") For i = 1 To UBound(arr) m = 0...
  • 计算多段线的长度,代码如下。 Sub PolyLineLength() Dim Pnt As Variant Dim Ent As AcadEntity On Error Resume Next Do ThisDrawing.Utility.GetEntity Ent, Pnt, "选择多段线:" If Err Then...
  • Option Explicit Sub main_fact() Dim n As Long Dim i As Integer, b As Double, sum As Double sum = 0 n = InputBox("请输入N") For i = 1 To n b = fact(i) sum = sum + b Next ...Public Func...
  • 是精确计算圆周长、圆面积、球体积等几何形状的关键值。 在分析学里,π可以严格地定义为满足sin x = 0的最小正实数x。圆周率用希腊字母 π表示,是一个常数(约等于3.141592654),是代表圆周长和直径的比值。它是...
  • B1为100,为计算的结果(6个数的和) 现在计算A列中哪6个数字的和为100 符合条件的就放在C列中   Sub CountTotal() Application.ScreenUpdating = False Range("c:c").ClearContents Dim a%, b%, c%, d% Dim e%, f%...
  • 大家好,今日推出常用“积木”过程案例分享第307期,今日内容是利用字典,利用VBA计算除以7余数是5的数。提供给大家的这些内容是我多年经验的记录,来源于我多年的实践。大家在学习VBA的时候,可以把这些代码块作为...
  • excelvba测量计算

    2018-10-18 11:09:02
    vba自定义函数,中桩,边桩,设计高程,批量和单个计算. 如果安装了autocad,还可以绘图
  • EXCEL VBA 工资计算

    2011-11-12 16:00:36
    用于单位工资计算,比较好用!本程序是用EXCEL VBA编写的!
  • VBA表格计算程序

    2013-07-05 11:10:41
    VBA编写的EXCEL表格数据处理程序,里面有多条处理程序
  • VBA具有强大的计算功能。除常规四则运算以外,还能够进行文本连接、乘幂运算、比较运算等。 文本连接 在VBA中,允许将多个文本通过文本连接符(&)进行连接并组合成新的文本,其基本语法为: Exp1 & Exp2 ...
  • vba土方计算软件

    2015-03-29 12:35:56
    高程点批量处理、方格网、断面图土方计算、等高线作图
  • 最近在分析多个sheet表的数据发现...Sub vba计算平均值() Start = 19 For x = 2 To 17 Step 1 '根据sheet表的编号来循环 Cells(3, Start - x) = Sheets(x).Name '获取工作表 Sum = 0 num = 0 For j = 2 To 201 '从第
  • 坐标计算VBA4.9

    2013-07-30 21:41:52
    程序利用Office Excel VBA程序模块编写,适用于公路、铁路等线形计算,程序主要包括(交点法、线元法坐标正反算,竖曲线计算,平面控制网“导线、高程”平差,曲线超高加宽、计算工具箱等,还可以生成5800、9750...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,413
精华内容 565
关键字:

vba计算