【发布时间】:2022-01-14 19:57:02
【问题描述】:
我在不同的工作表上有两个项目数据集,Sheet1 和 Sheet2。每个项目都有不同的项目详细信息,因此我创建了 Sheet3 将每个项目的相关详细信息合并到一个地方。
Sheet1 和 Sheet2 对于每个项目应该具有相同的格式,但事实证明并非如此。从 Sheet1 复制格式很容易并且可以正常工作,但幸运的是,Sheet2 上的格式更准确。
我需要帮助编写一个宏,它首先清除 Sheet3 中某个范围内的所有格式,然后从 Sheet3 上的单元格(例如 C28)获取项目名称,查找 Sheet2 范围中的单元格值,复制该格式并粘贴它回到Sheet3上的C28——不仅是C28,还有B28到F28。 然后循环到下一个项目,直到它到达 Sheet3 数据范围的末尾(第 536 行)。
要清除格式的 Sheet3 数据范围:B28:F536
Sheet3 查找数据范围:C28:C536
Sheet2 数据范围:C3:EG24 - 宏将在其中找到要复制的单元格格式。
Sheet3 查找范围内的某些单元格将是空白的,或者在 Sheet2 范围内没有匹配项 - 然后宏应该跳过并继续。
任何帮助将不胜感激!
【问题讨论】:
-
我建议在Range.Find 和Range.Resize 上查找一些教程。获得范围后,您可以执行 ClearFormats 和 Copy & PasteSpecial (xlPasteFormats)。