【发布时间】:2018-07-14 11:49:06
【问题描述】:
我会收到一份包含许多轮班时间的每日清单,通常格式如下:
0800-2000
0800-2000
0801-2000
0930-2130
0930-2200
1000-2200
以此类推...(每个在不同的行,一次数百个)
我正在尝试编写一个宏/VBA,通过在每个不同的开始时间上方插入一个空白行来对每个 START 时间进行分组(忽略那些仅相隔 1 分钟的那些,这些被认为是相同的)。
我想到的概念是截断单元格以仅使用 LEFT(A3,4)+0 转换回整数的前 4 个数字。将 2 个变量调暗为整数,Value1 来自第一行,Value2 来自下一行。然后运行一个 IF 语句,其中 If Value2 - Value 1 > 2 THEN 插入一个空白行(EntireRow.Insert Shift = xlDown 我认为是代码,如果错误请更正)。
然后我只需要对整个列重复,直到没有更多的班次开始时间可以分开。我正在考虑类似“直到 ISNUMBER = FALSE”这样的事情,或者我可以只为预定义的行数运行宏,我知道这些行数总是绰绰有余。
【问题讨论】:
-
欢迎来到 Stack Overflow!看到有人对学习编码基础知识和做一些研究表现出兴趣总是很好的! Stack Overflow 并不是真正的“免费代码编写服务”,它更像是开发人员(任何经验水平)可以就特定问题提出特定问题、分享他们现有代码并(尽可能)解释什么是的地方到目前为止已经尝试过,到目前为止在哪里进行了研究,以及他们拥有什么以及他们“需要拥有”什么的例子。这使得该网站对遇到类似问题的其他人有用。
-
...比我解释更好的是查看tour 以及How to Ask 和minimal reproducible example 的方便提示。您是否在 Stack Overflow 上查看过类似的文章?这是另一个帮助您入门的搜索。如果您需要 VBA 或 Excel 速成课程,只需搜索即可找到一些优秀的教程和其他资源。您是否对特定问题以及您尝试过的一些示例有疑问?