【发布时间】:2018-02-04 08:32:24
【问题描述】:
我是 VBA 的初学者。我已经检查过这个问题是否已经被问过,但没有发现任何完美契合的地方,而且我也没有正确修改我找到的最接近的代码。
我在 sheet1 的 A 列中有一个包含原始销售数据(大约 5,000 个项目)的文件。在 sheet2 中,我在 A 列中有一个包含大约 500 个数据的表,其中 sheet1 中的重复项目已被消除。 500 项中的每一项都在 B 列中重命名。
我想创建一个循环来检查 sheet1 列 A 中的每个单元格,如果数据与 sheet2 列 A 中的一个数据相同。满足条件时,它会从 B 列中复制粘贴适当的单元格sheet2 在 sheet1 B 列(即同一行)的适当单元格中。我需要对这 500 个项目进行操作。
- 示例表 1(参见链接:https://1drv.ms/i/s!AiRwDFaSvBNalTb0JOIkq8KxiBKs/预期结果为红色)
产品分类 1
巧克力
化妆品
巧克力
化妆品
化妆品
化妆品
化妆品
巧克力
巧克力
化妆品
化妆品
果酱
化妆品
化妆品
- Example Sheet2(见链接:https://1drv.ms/i/s!AiRwDFaSvBNalTQlKgDKEJTNLvOU)
产品
巧克力 化妆品 果酱
指的是列Sorting2:
CHO COS 果酱
-
到目前为止编写的代码
Sub sorting() Dim Cell As Range Dim i As Integer For Each Cell In Sheet1.Range("A2:A10000) If Cell.Value = Sheet2.Range("A2") Then Sheets("Sheet2").Select Range("A2").Select Selection.copy Sheets("Sheet1").Select Cell(i,2).Select Cell.PasteSpecial End If Next Cell End Sub
【问题讨论】:
-
您能否提供一个您想要的示例结果 - 最好是 excel 数据截图?
-
用户高级过滤器可以轻松完成。
-
感谢您的回复,我创建了一个具有类似功能的假文件,并根据您的要求添加了图片链接。我是新用户,看来我还没有被授权直接发布图片。我在类似主题的其他线程中了解到,高级过滤器不是解决方案,因为我需要经常更新数据库。也许我错了?
标签: excel row conditional-statements copy-paste