使用日期的 For 循环编译错误:语法错误

2024-01-25

我正在尝试运行一个脚本,该脚本将浏览特定列的所有行。然后它将这些列中的日期与设定的日期进行比较。如果日期大于则删除该行。我收到的错误称为编译错误:语法错误。

Sub removewrongyear()
Dim i As Integer

For i = 2 To 635475
 If Data.Cells(i,20).Value > DATE(2018,12,31) Then
Rows(i).EntireRow.Delete
Next i
End Sub

正如@braX 所说,你需要后退一步。还指定数量超过Integer可变类型容量。在 VBA 中,整数值始终将变量声明为Long.

范围“数据”未设置。我参考活动工作表替换了它。 变量 YearA 也未指定。我给它分配了2018年的值。日期函数使用不正确,您的意思是使用 DateSerial。

总是放Option Explicit在代码之上捕获错误。这里真的有很多人。

Option Explicit

Sub removeWrongYear()

    Dim i As Long, yearA as Long

    yearA = 2018

    With ActiveSheet
        For i = 635475 to 2 Step -1
            If .Cells(i,20).Value > DateSerial(yearA,12,31) Then .Rows(i).EntireRow.Delete       
        Next i
    End With

End Sub

这是一个基于数组的快速版本,一次删除所有行:

Option Explicit
Option Base 1 'row and column index will match array index

Sub removeWrongYear()

    Dim i As Long, yearA As Long, rowsCnt As Long
    Dim rowsToDelete As Range
    Dim vData As Variant

    yearA = 2018

    With ActiveSheet

        '1st to 635475 row, 20th column
        vData = Range(.Cells(1, 20), .Cells(635475, 20))

        For i = UBound(vData) To 2 Step -1
            If vData(i, 1) > DateSerial(yearA, 12, 31) Then
                rowsCnt = rowsCnt + 1

                If rowsCnt > 1 Then
                    Set rowsToDelete = Union(rowsToDelete, .Rows(i))
                ElseIf rowsCnt = 1 Then
                    Set rowsToDelete = .Rows(i)
                End If

            End If
        Next i

    End With

    If rowsCnt > 0 Then
        Application.ScreenUpdating = False
        rowsToDelete.EntireRow.Delete
        Application.ScreenUpdating = True
    End If

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

使用日期的 For 循环编译错误:语法错误 的相关文章

  • 当 vbscript.regexp 工作时,VBA RegExp 会导致编译错误

    我正在为 Outlook 2013 的 VBA 编写一个脚本 它使用正则表达式 我发现的每个示例似乎都使用Set regex New RegExp创建一个正则表达式对象 当我尝试这个时 我得到了编译错误 用户定义类型未定义 我设法使用正则表
  • 哪个正则表达式能够在 C# 公式中选择 Excel 列名称?

    我需要在 C 中实现 Excel 公式自动填充 假设这个公式位于 B100 SUM B 99 B99 我想让这个公式在 C100 时有所不同 SUM B 99 C99 该公式仅是一个示例 一些真实的例子是 SUM B 0 B 0 SUM 1
  • 使用 Microsoft Excel 进行 RSA 加密

    是否有任何现成的适用于 Excel 的 RSA 加密算法实现 只需使用给定的公钥加密纯文本 仅此而已 或者我需要从一开始就实施它 我谷歌但没有发现任何有用的东西 欢迎任何有用的链接 UPDATE 我需要一个非商业图书馆 None
  • 导出 CSV 文件时出现编码问题

    我正在使用 Asp net mvc 生成 CSV 文件 但在处理葡萄牙语中的特殊字符时遇到问题 我使用以下代码返回文件 public FileContentResult RelMatriculas RelRematriculaVM mode
  • 在VBA中使用类模块作为命名空间是否有任何陷阱

    VBA 不支持命名空间 Java 人员的包 其他语言中的命名空间有助于避免歧义并补充成员名称自动完成等工具 在 VBA 中模拟命名空间的一种方法是在类模块中声明什么是事实上的静态方法 然后在标准模块中声明该类的默认实例 这甚至是一些 Mic
  • 如果单元格包含字符串

    如果单元格的邻居包含特定字符串 如何为单元格分配值 例如 A 列中的字段 dog11 cat22 cow11 chick11 duck22 cat11 horse22 cat33 B 列中的语法为 IF SEARCH cat A1 cat
  • 检查excel 2010 vba中是否存在目录

    我正在让用户输入一些信息MyBarcode and MyScan将用于创建目录 如果该目录存在 我想显示一条指示该目录的消息 然后返回到用户可以输入数据的步骤 这vba位于下面 除了我需要一些帮助的目录检查之外 似乎可以正常工作 我希望这是
  • VBA 中 .NET 的 System.Convert 的替代方案

    我正在 Microsoft Access 中编写一个 VBA 函数 以使用 RSA 密钥加密 解密文本数据 目前正在进行以下工作 CreateObject System Security Cryptography RSACryptoServ
  • pyExcelerator 或 xlrd - 如何查找/搜索给定几列数据的行?

    Python 与 EXCEL 通信 我需要找到一种方法 以便我可以查找 搜索给定列数据的行 现在 我正在逐一扫描整个行 这将很有用 如果有一些功能 如查找 搜索 替换 我在 pyExcelerator 或 xlrd 模块中没有看到这些功能
  • VBA 中类初始化时的参数

    是否可以在初始化时向类传递参数 就像 Java 等面向对象语言中所做的那样 您可以在其中创建参数化构造函数 事件Class Initialize 不允许我输入参数 我怎么解决这个问题 不幸的是 您不能使用参数化构造函数 最接近的替代方案是工
  • Python win32com 使用 Bloomberg 插件打开 Excel

    我正在尝试自动构建 Excel 2007 电子表格 该电子表格使用 Bloomberg 插件来降低实时价格 问题是 当我通过 win32com 打开 Excel 时 Bloomberg 插件不会加载 因此所有公式最终都会出现 NAME 错误
  • 在 Excel 中将 x 轴的最大值和最小值设置为日期

    我有一个 X 轴上有日期的图表 我正在尝试使用 Excel VBA 设置该轴的最大值和最小值 下面是我的代码 似乎不起作用 有人可以帮忙吗 With ActiveSheet ChartObjects 1 Chart Axes xlValue
  • Access 2007 数据库和应用程序的版本控制

    我需要对 Microsoft Access 2007 数据库和应用程序进行版本控制 目前 所有内容都包含在单个 mdb 文件中 该应用程序包括 Forms VBA code 实际数据库 我假设我需要将数据库与表单 代码分开 我希望能够将表单
  • 将 HRESULT 转换为可读消息

    任何人都可以提供一些有关如何以编程方式翻译 HRESULT 的信息 http en wikipedia org wiki HRESULT http en wikipedia org wiki HRESULT 值到人类可读的消息 我知道实用程
  • 在vba中打乱数组[重复]

    这个问题在这里已经有答案了 我需要对数组中的值进行无重复的洗牌 我需要在代码中添加什么以避免重复 Function Resample data vector n UBound data vector ReDim shuffled vecto
  • 将文档属性字段添加到页脚会删除现有的页码

    我想在文档中每个页面的页脚中标记一个文档变量字段 我已经弄清楚如何添加该字段 但是 这样做时 页脚中已存在的页码字段将被禁用 仅保留文本并且不再充当动态页码 这是我的代码 它添加了该字段 但以某种方式禁用了页码 sectionFooter
  • “是”运算符给我 False,我可以知道原因吗?为什么? [复制]

    这个问题在这里已经有答案了 在编写 MS Excel VBA 代码时 我遇到了一个简单的问题 如下所示 上面的一点问题都没有 下层有问题 它给了我 假 Dim my01 my02 Set my01 Sheets 1 Set my02 She
  • SSIS Excel 导入强制错误的列类型

    我正在尝试使用 SSIS 将电子表格导入到我们的数据库中 由于某种原因 当其中两列包含字符数据时 SSIS 希望相信它们的类型为 Double 我尝试将列重新映射为 nvarchar 255 但它仍然不想选择它认为是双精度的数据 因为其中有
  • 变量的变化触发事件

    是否可以通过变量的更改来触发事件 例如 这将触发事件 Dim t As Integer Dim Fire As Boolean Private Sub Test t 0 Fire True IIf Fire t 1 t 2 End sub
  • 运行delphi客户端自动化程序后excel.exe保持加载状态的原因是什么?

    我编写了一个 Delphi 程序 该程序从单个 XLS 文件的多个不同电子表格中提取数据并将其合并到文本文件中以供以后处理 这是德尔福7console程序 最相关的代码片段的摘录将向您表明 显然 我的程序表现得相当好 或者至少达到了它需要的

随机推荐

  • 获取范围内的所有变量

    有没有办法获取当前在 JavaScript 范围内的所有变量 虽然大家都回答 No 我知道 不 是正确的答案 但如果你真的需要得到局部变量一个函数有一个受限的方式 考虑这个函数 var f function var x 0 console
  • Wireshark 中不显示 UDP 数据包

    我有一个嵌入式码头服务器 服务器1 它发送UDP数据包作为触发器来接收来自另一台服务器 服务器2 的消息 然后 server1 等待来自 server2 的消息 然后该消息将被验证并进一步处理 通过测试 server1 我发现有时 serv
  • 如何在单击消息上的任意位置时关闭 GROWL 消息? (JSF、Primefaces)

    如果用户单击 我需要关闭用户界面中的咆哮消息anywhere 在消息上 这是必需的 因为 Primefaces 中默认咆哮消息的关闭按钮对于用户来说很难找到 有办法做到这一点吗 通过CSS解决这个问题怎么样 ui growl icon cl
  • 如何使用简单的 HTML DOM 来抓取它 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在尝试
  • 如何在 Rails 中响应通过 AJAX 发出的 HTML 请求

    我正在尝试编写一个 Rails 控制器方法 该方法将响应 正常 例如 跟随链接 和通过 ajax 发出的获取请求 正常情况 控制器应使用布局以完全修饰的 HTML 进行响应 Ajax 案例 控制器应使用模板生成的 HTML 片段进行响应 无
  • 使用 jfreechart 创建时间序列

    现在我想在 jfreechart 中创建一个时间序列图 然而 在线示例仅包含使用 日 月 等类的图表 所以我想本质上创建一个 XY 折线图 然而 我遇到的问题是 Jfreechart 没有按照添加数据点的顺序连接数据点 此外 它也不按照 X
  • 从图库中获取选定的图像到 imageview

    我在从图库中选择图像并将其设置到imageview 假设我有两项活动 mainActivity包含画廊按钮和secondactivity含有imageview其中必须显示图像 b1 setOnClickListener new OnClic
  • 当文件存在时,python os.path.exists 报告 False

    您好 有一个应用程序有时会报告文件不存在 即使它存在 我正在使用 os path exists 并且该文件位于已安装的网络共享上 我使用的是 OSX Yosemite python 2 7 9 并且我拥有该文件的访问权限 这是奇怪的事情 下
  • 使用 pandas 将每月数据表转换为季节性时间序列

    我有一些表格格式的数据 其中行是年 列是月 我想将其转换为 pandas 中的时间序列格式 然后按季节平均值对数据进行分组 我特别想将冬季定义为 11 月至 3 月 并放弃其他所有内容 这是我将数据读入表格格式的代码 这样您就可以看到发生了
  • Laravel 自身模型上的父/子关系

    我想要获得至少有一个孩子的所有优惠券 一张优惠券可以有多个优惠券孩子 但任何优惠券只能有一个父母 我使用以下模型和调用对其进行设置 并且它生成的查询是根据需要的 直到这一部分 vouchers parent id vouchers id 想
  • 关于减少分支未命中预测

    我在一篇论文中看到一句话 将分支转化为数据依赖 以避免分支预测错误 第6页 我想知道如何将代码从分支更改为数据依赖关系 这是论文 http www adms conf org p1 SCHLEGEL pdf http www adms co
  • Bootbox 确认对话框问题

    不幸的是 文档 Bootbox http paynedigital com 2011 11 bootbox js alert confirm dialogs for twitter bootstrap http paynedigital c
  • 如何在Python中创建元组的元组?

    我想结合 A 1 3 5 B 2 4 6 into C 1 2 3 4 5 6 python中有没有一个函数可以做到这一点 Yes tuple zip A B 这就是全部 结果如下 Python 2 x 和 3 x 中 gt gt gt t
  • VSCode 新手:通过 Docker 进行远程 Jest/Node 调试

    我最近从 Vim 切换到 VSCode 并且尝试为通过 docker 运行的玩笑测试设置 VSCode 调试 调试工作 有点 如果我想运行玩笑测试并激活断点 我需要 插入断点 通过以下方式开始运行相关的笑话测试vscode jest tes
  • 将本地对象推入列表

    我有课 class Invader public Invader Invader public void Init InvaderTypes invadertype CIw2DImage AlienImage void Update flo
  • 修改SQL Server中的XML以添加根节点

    首先 为了给出这个问题的一些背景知识 我正在重写一些当前循环遍历某些 xml 的代码 在每个循环末尾插入一个表 替换为一个接受 xml 参数的 sp 并在一个 sp 中进行插入继续 将 xml 分解 到表中 主碎片已成功完成 但目前其中一列
  • iOS 7 onchange 事件在 iPad 3+Mini 中被破坏 // 需要解决

    请仅在运行 ios 7 的 iPad 上进行测试 iOS 7 似乎不支持 iPad 上 onchange 事件的alert 和confirm 奇怪的是 它可以在运行 ios 7 0 的 iPhone 4s 和桌面浏览器上运行 但不能在运行
  • 在使用 PKCE 的 OAuth 2.0 授权代码流程中,是什么阻止在第一次调用身份验证服务器时拦截代码质询?

    想象一下这次攻击 攻击者拦截对授权服务器的第一次调用 然后进行代码挑战 图中的步骤1 攻击者现在使用授权代码拦截来自授权服务器的响应 图中的步骤2 然后攻击者可以 POST 授权代码和代码验证程序来获取访问令牌 步骤3 Refer to t
  • Haml - 非法嵌套:纯文本中的嵌套是非法的

    我在使用 HAML 时遇到代码中的奇怪错误 其中我的代码在本地计算机上运行 但当我部署它时 出现以下错误 ActionView Template Error 非法嵌套 在纯文本中嵌套是非法的 我的代码看起来像这样 td style gt w
  • 使用日期的 For 循环编译错误:语法错误

    我正在尝试运行一个脚本 该脚本将浏览特定列的所有行 然后它将这些列中的日期与设定的日期进行比较 如果日期大于则删除该行 我收到的错误称为编译错误 语法错误 Sub removewrongyear Dim i As Integer For i