首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >VBA中单元格范围的Networkday函数

VBA中单元格范围的Networkday函数
EN

Stack Overflow用户
提问于 2017-08-25 21:08:36
回答 4查看 1.4K关注 0票数 1

我正在构建一个宏,它将比较AO列中的日期(日期格式为dd/mm/yyyy hh:mm)与列AL中的日期(日期格式为dd/mm/yyyy hh:mm),并将它们在工作日中的差异打印到列中(仅显示天数,而不是分钟数等)。我已经搜索并发现NETWORKDAYS是excel中的一个函数,它可以做到这一点,但我不知道如何在VBA中实现它的范围。到目前为止,我的代码与我在web上找到的代码非常相似,但它是针对特定日期的,而不是针对某个范围的。有什么想法吗?非常感谢!

到目前为止,我得到的是这样的,但它显示与d1=cell.Offset一致的错误...我现在不知道为什么!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Dim d1 As Range, d2 As Range, wf As WorksheetFunction
'Dim N As Long
Set wf = Application.WorksheetFunction
For Each cell In Range(Range("AT2"), Range("AT2").End(xlDown))
Set d1 = cell.Offset(0, -4)
Set d2 = cell.Offset(0, -7)
cell.Value = wf.NetworkDays(d1.Value2, d2.Value2)
Next cell
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-08-26 11:03:00

我建议使用“混合”方法,因为您无论如何都要使用工作表函数:让VBA填充函数,将输出替换为值:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    Sub WorkDaysDiff()
    ' w-b 2017-08-26

    Dim rng As Range, lastrow As Long

    ' assuming columns A, B hold dates, results into column C
    lastrow = ActiveSheet.Range("A1").End(xlDown).Row
    With ActiveSheet
        Set rng = .Range(.Range("C1"), .Range("C" & lastrow))
    End With

    With rng
        ' write formula into worksheet cells for whole range at once
        ' and replace it with their value after recalculation
        .FormulaR1C1 = "=NETWORKDAYS(RC[-1],RC[-2])"
        .Copy
        .PasteSpecial xlPasteValues
        Application.CutCopyMode = False
    End With
End Sub

这样,您就避免了循环,如果范围足够大,这可能会节省时间。

票数 1
EN

Stack Overflow用户

发布于 2017-08-25 21:14:11

为此,您不需要使用VBA。它也可能是一个VBA函数,我不确定。

票数 0
EN

Stack Overflow用户

发布于 2017-08-25 21:34:09

试试这个

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    Dim d1 As Date, d2 As Date

    For Each Cell In Range(Range("AT2"), Range("AT2").End(xlDown))
        d1 = Cell.Offset(0, -4)
        d2 = Cell.Offset(0, -7)
        Cell.Value = Application.WorksheetFunction.NetworkDays(d1, d2)
    Next Cell
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45889438

复制
相关文章
VBA专题13:引用单元格/单元格区域的方法
在VBA中,可以通过多种不同的方式来引用工作表中的单元格/单元格区域。下面是一些引用方法的汇总。
fanjy
2021/08/31
3.9K0
Word VBA技术:判断表格中的单元格是否为空
可以使用VBA代码来判断文档中表格内的单元格是否为空。下面的代码检查所选文档内容中表格内的单元格,并给出空单元格的信息。
fanjy
2023/02/16
3.7K0
Execl函数中的固定单元格
经常用Execl统计一些数据,很好很强大,也很复杂,高级的功能用不上,有几个场景是经常会用到的,比如考勤。
GhostZhang
2022/08/22
9460
Execl函数中的固定单元格
LeetCode 6016. Excel 表中某个范围内的单元格
Excel 表中的一个单元格 (r, c) 会以字符串 "<col><row>" 的形式进行表示,其中:
Michael阿明
2022/03/10
1.1K0
LeetCode 6016. Excel 表中某个范围内的单元格
Excel VBA取白色单元格内容黄色的单元格的Address
哆哆Excel
2023/09/09
3480
Excel VBA取白色单元格内容黄色的单元格的Address
VBA小技巧14:拆分带有换行的单元格中的文本
在Excel中,我们可以使用“分列”功能(即“文本到列”),很容易地将单元格中带有特定分隔符的文本拆分到不同的列中。但是,对于使用<Alt+Enter>组合键换行的文本,不能够使用这个功能。例如,下图1所示的单元格中的数据,想要将其拆分到不同的列中,“分列”功能对其无效。
fanjy
2021/09/22
4.6K0
VBA根据单元格底色统计个数
要实现这种功能,比较好的方法是把它做成1个Function,然后做成1个加载宏,这样就可以在任意打开的Excel里使用了。
xyj
2020/07/28
1.1K0
VBA根据单元格底色统计个数
使用VBA跨单元格分配值
这是在exceloffthegrid.com中看到的一个案例,一个非常有用的节省时间的宏:在单元格之间分配值。
fanjy
2023/08/29
3210
使用VBA跨单元格分配值
VBA: 禁止单元格移动,防止单元格公式引用失效
文章背景: 在工作生活中,存在文件共享的情况。在数据处理时,单元格公式中往往要引用原始数据源。多人操作时,每个人的操作习惯不同,如果数据源的单元格不小心被人为移动或删除,会导致单元格公式引用失效,产生#REF! 错误。如果进行的是跨表引用,这种错误往往还很难发现。
Exploring
2022/09/20
7810
VBA判断单元格是否为字母
【问题】:我们在工作中,有时候要判断人家输入单元格是内容中的数据是首字母含有字母还是内容其中含有字母。
哆哆Excel
2022/10/25
1K0
VBA判断单元格是否为字母
问与答96:如何使用VBA代码提取单元格中的字符串
例如,在单元格A1中的内容为“This is<just> a test”,单词“just”位于一对尖括号中。现在想要将“just”提取出来,并将其放置在相邻的单元格B1中,如何使用VBA代码来实现这样的操作?
fanjy
2021/03/12
5K0
Excel VBA解读(140): 从调用单元格中获取先前计算的值
如果有一个依赖于一些计算慢的资源的用户定义函数,可能希望该用户定义函数在大多数情况下只返回其占用的单元格中最后一次计算得到的值,并且只偶尔使用计算慢的资源。
fanjy
2019/07/19
6.8K0
VBA实用小程序50: 在指定的单元格中插入指定的形状
下面的自定义函数使用Shapes集合对象的AddShape方法及其参数,可以在指定的单元格中插入指定的形状。
fanjy
2019/07/19
2.5K0
VBA实用小程序50: 在指定的单元格中插入指定的形状
VBA: 判断单元格区域内是否存在合并单元格
文章背景: 工作中,有时需要判断单元格区域内是否存在合并单元格,这时,可以用到Range.MergeCells属性。
Exploring
2023/10/22
2.4K0
VBA: 判断单元格区域内是否存在合并单元格
VBA: 禁止单元格移动,防止单元格公式引用失效(2)
文章背景: 在Excel中,公式引用无效单元格时将显示 #REF! 错误。当公式所引用的单元格被删除或被粘贴覆盖时最常发生这种情况。
Exploring
2022/09/20
1.2K0
VBA: 同时选中多个不相邻的单元格区域
文章背景:在工作中,有时需要同时引用多个不连续的单元格区域,然后进行相应的操作(如改变单元格底色,增加外框线等)。
Exploring
2022/09/20
3.7K0
VBA: 同时选中多个不相邻的单元格区域
不使用VBA,添加图片到单元格
有时候,我们想在单元格中显示图片,然而又不想使用VBA,该怎么办呢?有一种方法,就是使用单元格批注。
fanjy
2022/11/16
6990
不使用VBA,添加图片到单元格
使用VBA获取单元格背景色中红色、绿色和蓝色的数值
如果在其他应用中我们要选择背景色,但却不知道其RGB值,那么就可以先在Excel单元格中设置想要的背景色,然后使用这几个函数获取其RGB值,这样就可以应用到其他程序中了。
fanjy
2022/11/16
3.5K0
使用VBA获取单元格背景色中红色、绿色和蓝色的数值
VBA汇总文件夹中的多文件的工作表中不同单元格区域到总表
【问题】我们发了这样一个表格到各单位收集资料,各单位填写完后上交上来有许多个文件,我们现在想汇总成一年一个表,怎么办?
哆哆Excel
2022/10/25
2.3K0
VBA汇总文件夹中的多文件的工作表中不同单元格区域到总表
VBA数组的排序_vba函数返回值 数组
我们平时用的表格排序,只相对来说是在在表格中的升序降序。今天就好奇如果数组中实现排序 他是怎么实现的呢。
全栈程序员站长
2022/11/15
3.4K0
VBA数组的排序_vba函数返回值 数组

相似问题

《Uncaught: require not defined》with Angular 2/webpack

34

require not defined "var mysql = require('mysql');“

20

带有"target:'node'“和"type:'module'”的Webpack配置抛出了'require is not defined‘

189

尝试设置.env文件时出现‘'require is not defined’错误

10

导入文件系统模块时'ReferenceError: require is not defined‘

1504
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文