excel - 基于日期停止另一个 VBA 的 VBA 代码
问题描述
我有一个 VBA,可以在新工作簿中创建所选工作表的副本
Public Sub CopySelectedSheets()
ActiveWindow.SelectedSheets.Copy
End Sub
我希望它在日期过去后停止运行,
所以得到了这个代码
Dim stopDate As Date
stopDate = Sheets("Org. & Staff Basic Data").Range("C19").Value
If Date >= stopDate Then
MsgBox "This code cannot be executed after " & stopDate
Exit Sub
End If
Public Sub CopySelectedSheets()
ActiveWindow.SelectedSheets.Copy
End Sub
但是当我运行它时错误编译突出显示“C19”
解决方案
您的要求没有多大意义;您需要做的是修改 CopySelectedSheets 子,以便它按照您的意愿完成工作
Public Sub CopySelectedSheets()
Dim Sh As WorkSheet
Dim stopDate As Date
stopDate = Sheets("Org. & Staff Basic Data").Range("C19").Value
For Each Sh In ActiveWindow.SelectedSheets
If Date >= stopDate Then
MsgBox "This code cannot be executed after " & stopDate
Exit For
Else
Sh.Copy
End If
Next Sh
End Sub
推荐阅读
- aws-lambda - 从 lambda 函数代码中识别触发器或查找 dynamodb 表名
- python - 使用 PyTorch DataLoader 让我有同样的损失,循环没有任何进展
- python - 如何用python制作一个类似鼠标定位器的程序?(如定位鼠标光标位置的免费实用程序)
- spring - 如何使用 JWT spring boot 处理多设备身份验证
- php - 带有函数参数的异常类
- amazon-ec2 - 从网站访问地理服务器(托管在 EC2 上)
- python - 具有任务管理队列的 Python 微服务
- javascript - 椭圆曲线 JavaScript 库中的错误:没有 r 或 s 的签名?
- java - 如何在 Firebase 中按日期时间订购适配器
- javascript - 在 react-table 的单元格中将字符串呈现为 html