【发布时间】:2020-12-24 14:28:43
【问题描述】:
我有一个关于将特定非空白单元格从一个 Excel 工作表复制到另一个工作表的问题。我通常会使用 INDEX/ROW 但在这种情况下,我需要从 3 个单元格中选择 1 个,具体取决于一个人是在正常工作时间、加班还是换班,并将这些时间以特定格式复制到另一张纸上。我认为使用 VBA 可能会更容易。
下面是一个具体的例子:
表 1 在 2020 年 12 月 27 日星期日,员工 1 将工作 12.00 小时 FLAT (BH14),我需要将此信息复制到 Sheet2 (I17)。
第二天 2020 年 12 月 28 日星期一,员工 1 将工作 12.00 小时 SWAP 班次(这次不同的列 - BJ74),我需要将其输入 Sheet2 (J17)。
在 2020 年 12 月 29 日星期二,员工 1 将加班 10 小时(BI134 列),我需要将其输入 Sheet2 (K17)。
重要的是,要复制到 Sheet2 中的小时数保持相同的格式 - 正常(对于 FLAT)、紫色(对于 SWAP)或蓝色(对于 OVERTIME)。
【问题讨论】:
-
使用 if 语句检查 Flat 是否为空,然后检查 Swap,然后检查 Overtime。抓取具有值的值并粘贴格式。
-
您好,谢谢您的回答。在“Sheet2”中,我需要为每个单元格、每个员工、全年执行此操作。它不会超级减慢整个电子表格的速度吗?
-
If 语句将非常快,就像在数十万行中增加几毫秒一样。如果您看到明显的减速,那么其他事情正在阻碍您。