函数可选参数DATE类型失败

2023-12-13

我有一个函数可以查找下周一的日期。当没有传递可选日期参数时,它将变为默认值零。我想我已经添加了注释来解释问题

Function NextMondayFromADateOrToday(Optional StartDate As Date) As Date
' objective: if date param not supplied should set StartDate to today
' ??? Problem: with no arg provided StartDate is zero = date value of 1/1/1900
' ??? how to add default to optional paramater of date type?
' ??? or, how to check if an arg was provided if the parameter is date type?
If Not (IsDate(StartDate)) Then StartDate = Date
Select Case Weekday(StartDate)
Case 1:     NextMondayFromADateOrToday = StartDate + 1
Case 2:     NextMondayFromADateOrToday = StartDate + 0
Case 3:     NextMondayFromADateOrToday = StartDate + 6
Case 4:     NextMondayFromADateOrToday = StartDate + 5
Case 5:     NextMondayFromADateOrToday = StartDate + 4
Case 6:     NextMondayFromADateOrToday = StartDate + 3
Case 7:     NextMondayFromADateOrToday = StartDate + 2
End Select
End Function

VBA 变量通常有一个默认值,并且任何可选参数都会自动设置为其默认值,因此这种行为是预期的。既然您已经知道如果不传递可选参数将默认为 0 (1/1/1900),为什么不只测试该值而不是测试是否传递了日期呢?

另一方面,如果您认为某人可能需要传入 1/1/1900,那么您应该将可选参数设置为Variant类型。可选地传入时,变量不会被初始化,因此它不会有默认值(与日期不同)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

函数可选参数DATE类型失败 的相关文章

  • 如何从包含许多表的 Excel 工作表中解析数据帧(使用 Python,可能使用 Pandas)

    我正在处理布局糟糕的 Excel 工作表 我正在尝试解析这些工作表并将其写入数据库 每个工作表可以有多个表 尽管这些可能的表格的标题是已知的 但哪些表格将位于任何给定的工作表上 它们在工作表上的确切位置也不是已知的 表格不以一致的方式对齐
  • 如何保留每个单元格中合并单元格的值?

    我创建了一个包含合并单元格的工作表 但合并单元格的值仅存储在第一个单元格中 无论如何 为了在每个单元格中保持相同的值 我使用的公式需要它 谢谢 在 Excel 2003 中 此宏执行以下任务 Public Sub UnmergeAndFil
  • 使用 JavaScript 解析时间

    这可能很简单 但我有点困惑如何做到这一点 我如何使用 JavaScript 仅解析以下内容中的时间ISO 8601 http en wikipedia org wiki ISO 8601日期字符串 2009 12 06T17 10 00 换
  • Excel动态数组运行重复项计数

    我一直在重新设计一些旧的电子表格工具 以便使用 Excel 的较新工具来过滤和格式化动态数据输出动态数组公式 https support microsoft com en us office dynamic array formulas a
  • 如何获取与 PHP 中的日期数组相比最接近的日期

    这个帖子 https stackoverflow com questions 11012891 how to get most recent date from an array of dates几乎为我回答了这个问题 但我有一个特定的需求
  • 使用 VBA 从数据透视表中提取数据

    我编写了以下 vba 代码 该代码应该从 old xlsx 的某些单元格导入任何现有数据 这些单元格是数据透视表的一部分 并且 OE gt location gt qual in 作为其行的子单元格 该列由手动输入的日期决定 strForm
  • 将所有构造函数参数作为实例属性添加到 PyCharm 中的类中

    我正在使用 PyCharm 我开始定义一个类 class A def init self a b c 我希望它看起来像这样 class A def init self a b c self a a self b b self c c 使用
  • 用于更新 Word 文档中所有字段的宏

    多年来 我构建了一个 vba 宏 该宏应该更新 Word 文档中的所有字段 我在发布文档进行审查之前调用此宏 以确保所有页眉和页脚等均正确 目前 它看起来像这样 Sub UpdateAllFields UpdateAllFields Mac
  • WebAPI 和 Angular JS Excel 文件下载 - 文件损坏

    我正在 WebAPI 中生成 Excel 文件 我将其 存储 在内存流中 然后放入响应 如下所示 var result new HttpResponseMessage HttpStatusCode OK Content new Stream
  • 尝试使用变量作为自动过滤器中的条件,并带有“不等于”<>,但无法使其工作

    我正在使用 Excel VBA 使用 不等于 表达式来过滤列表 如果我使用Criteria1 lt gt Bob 代码运行完美 但如果我将 Bob 更改为变量 代码将无法运行 这有效 ActiveSheet ListObjects Rpt
  • Excel:包括过滤器中的第一行

    我正在特别考虑 Excel VBA 的 AutoFilter 方法 但我认为我的问题也适用于 GUI 当我将筛选器应用于 Excel 工作表时 未选择任何内容 筛选器将应用于所有行从第二次开始 有什么方法可以包含第一行 以便它也可以被过滤掉
  • 如何将多个 Excel 工作表转换为 csv python

    我想转换所有的excel文档 xls 将工作表转换为 csv 如果 excel 文档只有一张工作表 那么我将进行如下转换 wb open workbook path1 sh wb sheet by name Sheet1 csv file
  • xlwt 可以在单元格中创建一个包含标题和链接变量的超链接吗?

    例如 如何更改以下行 使 test 为变量 T 且 http google com http google com 是变量L ws write 0 0 xlwt Formula test HYPERLINK http google com
  • 如何从另一个 Excel 实例引用工作簿

    我相信我的问题相当简单 我有一个工作簿 我正在使用它从另一个软件 SAP 获取一些数据 当我从软件导出数据时 它会自动打开一个 xlsx 文件 然后我需要做的是从该文件复制一些数据 粘贴到我的原始工作簿上 然后关闭该文件 我的代码中给我带来
  • 这个 if 语句中怎么有太多参数

    My IF下面的声明不断错误射击 指出参数太多 为什么是这样 谁能看出下面的语句有什么错误吗 IF G7 EUR H7 1 15 L7 IF G7 USD H7 1 35 L7 IF G7 AUD H7 1 35 L7 IF G7 CAD
  • 验证项目是否在开始日期和结束日期内

    我有一个java程序 它将检查每个项目的开始日期和结束日期 每个项目必须有自己特定的开始日期和结束日期范围 如果新的开始日期和结束日期的范围落在旧的开始日期和结束日期内 系统将提示错误消息 例如 Company ABC Item Numbe
  • 使用 OpenXML 读取列中的 Excel 工作表数据

    有没有一种方法可以使用 OpenXML SDK 和 C 按列而不是按行读取 Excel 工作表 我已经尝试使用 EPPlus 包 但遇到了一些问题 因为我的应用程序还使用 EPPlus 不支持的 xslm 文件 因此 我需要 OpenXML
  • 如何制作具有固定日期格式的jtextfield?

    我在使用创建固定日期格式时遇到问题JTextField 有没有办法JTextField有固定的日期格式 您可以将 JFormattedTextField 与简单日期格式 http docs oracle com javase 7 docs
  • 参考上一个问题:为什么 VBA 没有加载所有发票详细信息

    除了上一个问题之外 我们在销售发票上仍然存在相同的加载失败问题 下面的 VBA Json 仍然仅加载一行或第一个产品详细信息行 而不是与表中该销售发票合作的所有产品行详细信息 我们希望下面的 VBA 能够根据参数加载发票详细信息 例如 如果
  • VBA全局类变量

    我的障碍是试图让多个子程序识别类变量 当我尝试全局声明它们时 出现编译错误 无效的外部过程 然后 当我运行公共函数或子函数来声明变量时 它们在其他子函数中保持未定义状态 我希望多个子程序能够识别变量 因为它们的值应该通过用户窗体进行更改 然

随机推荐

  • MongoDB - 全文索引 - 全文搜索 - 词干提取

    我注意到 如果我在某个集合的启用全文搜索的字符串字段中输入值 seasons 那么当我查询 season 时 MongoDB 会找到该值 但如果我输入更复杂的内容 例如 mice 或 criteria 当我分别查询 mouse 或 crit
  • 如何使用内容脚本有效地覆盖 CSS?

    我的问题是我想覆盖网站的样式 问题是 有一种方法可以做到这一点 使用 important句子 如所见这个例子 但是 我的文件中有数千条 CSS 指令 是否有更快速 有效的方法来执行此操作 即不放置 important在每一行上 我发现最简单
  • 如何使用 C#/WPF 在 MouseEnter 和 MouseLeave 事件上对 ListBox 项目进行动画处理?

    我无法通过列表项的 C 代码捕获 触发 OnMouseEnter 或 OnMouseLeave 事件 需要明确的是 我不需要 OnSelectedItem 事件 我想要做的是能够处理 ListBoxItem 的 OnMouseEnter 和
  • 如何将谷歌地图作为模板动态嵌入到另一个模板中

    谷歌地图通常显示为静态 html 但是我们需要在谷歌地图上动态显示数据 因此我们需要使用 javascript 将其作为模板嵌入到另一个模板中 它似乎是空白的 网页源代码显示调用了initialize 函数但地图没有出现 这是index h
  • 如何在iPhone SDK中将SQLite文件导出为CSV文件

    在我的应用程序中 我想将 SQLite 数据库文件导出到 CSV 文件 你能建议我如何做到这一点吗 谢谢 首先 您需要确保您正在使用FMDB访问数据库 因为在 Objective C 中直接使用 SQLite C API 的人都是受虐狂 你
  • WPF 用鼠标移动元素

    我正在尝试在 WPF 应用程序中用鼠标移动按钮 XAML Grid 是结构的根
  • CPython 的垃圾收集是否进行压缩?

    我正在与一位朋友交谈 比较语言 他提到 Java 的自动内存管理优于 Python 因为 Java 可以进行压缩 而 Python 则不能 因此对于长时间运行的服务器来说 Python 是一个糟糕的选择 在不讨论哪个更好或更坏的情况下 他的
  • JSON.stringify 函数

    我有一个具有一些属性和方法的对象 如下所示 name FirstName age 19 load function uniq 0 5233059714082628 我必须将此对象传递给另一个函数 因此 我尝试使用 JSON stringif
  • 云上的丑陋渲染

    我正在尝试实现代码本教程 但比例要大得多 半径 100000 单位 我不知道大小是否重要 但在我的地球上渲染云有一个奇怪的渲染 正如教程中所做的那样 我使用两个球体和三个纹理 地球贴图 凹凸贴图 云 Here the result that
  • 在 Win32 中从字符串中解析日期

    我有一个包含日期的字符串 另一个包含第一个字符串的日期格式的字符串 我可以调用一个函数将该日期转换为类似 SYSTEMTIME 结构的函数吗 基本上 我想要相反的获取日期格式 它并不完全符合您所描述的功能 但我会首先使用COleDateTi
  • 通过动作脚本关闭网络摄像头的使用

    有没有办法 如何在动作脚本中关闭网络摄像头连接 我正在通过 Camera getCamera 打开流 问题是 释放网络摄像头实例后 我尝试了很多方法 网络摄像头上的光仍然是光束 在 macbook pro 上尝试过 您只需致电video a
  • 带刻面的堆叠条的反向填充顺序

    我不知道如何反转填充顺序 基本上 我试图让指南和填充匹配单词从正到负的内在顺序 指南和填充顺序从上到下应该是 比我预期的要好得多 填充在最顶部 图例的顶部 比我预期的要好一点 关于我的预期 比我想象的差一点 比我预期的要糟糕得多 填充在最底
  • 查看SQL Server数据库对象列表时如何识别系统对象?

    我试图列出服务器上所有数据库中的所有存储过程 但我似乎无法可靠地过滤掉系统对象 我正在使用 SELECT FROM sysobjects WHERE id gt 100 这似乎在除 MSDB 之外的每个数据库中都运行良好 MSDB 充满了大
  • 如何使用经典蓝牙代替 LE

    在参照丹尼斯 马修斯的回答如何在 iOS 上指定经典蓝牙而不是 LE 是否有不同的 api核心蓝牙框架 Joels 有一种非常清晰的方法可以在 iOS 上使用经典蓝牙 它具有外部附件框架 但是 除了经典蓝牙之外 它还包括直接硬件连接 您需要
  • 有效使用 UncaughtExceptionHandler

    我最近了解了 Java 1 5 的这个功能 并开发了一个示例代码来使用它 我的目标是当线程由于未捕获的异常而死亡时重新启动线程 public class ThreadManager public static void main Strin
  • 为什么标签小部件中的文本周围出现难看的大括号? - Tkinter

    我的标签小部件中的文本周围有大括号 输出是 Total tries 0 代替Total tries 0 这是我的代码的简短版本 class Cell def check self mem tries 1 mem update tries c
  • UISearchController更新搜索结果问题

    我的问题是我已经实施了UISearchController在 Swift 3 中 当我尝试过滤它时 它很容易过滤简单数组 但我的情况有点不同 我有一个数组 我从中获取所有数据SQLite database在类中 所以它是类的数组 manag
  • 断开各个对等点与 MCSession 的连接?

    如果我有一组已连接的对等点 假设有 3 个 a gt b a gt c a gt d 我只想断开对等点 c 的连接 我应该做什么 我看到对类似问题的一个答复指出 您只能断开 您自己 与会话的连接 这意味着在上述情况下 如果我这样做 mySe
  • 在 MATLAB GUIDE 中显示大型文本文件的最佳方式是什么?

    如何使用 MATLAB GUIDE 控件在 GUI 中显示文本文件的内容 文本文件可能很长或很宽 因此它应该能够具有垂直和水平滚动条 多行编辑框可能是显示文本的最佳选择 例子 read text file lines as cell arr
  • 函数可选参数DATE类型失败

    我有一个函数可以查找下周一的日期 当没有传递可选日期参数时 它将变为默认值零 我想我已经添加了注释来解释问题 Function NextMondayFromADateOrToday Optional StartDate As Date As