【问题标题】:How to count duplicates with an If statement using VBA in excel如何在 Excel 中使用 VBA 使用 If 语句计算重复项
【发布时间】:2018-07-31 14:59:47
【问题描述】:

我在创建宏方面并不出色,但我对创建一些基本功能以帮助加快我的工作中的某些流程有所了解。目前我制作了一个宏,可以自动将一系列单元格从一张纸复制到另一张纸。请参考以下代码:

Sub Range_Copy()

Worksheets("Additional Claims Detail").Range("E2").Copy _

Destination:=Worksheets("Claim").Range("A5")

**Worksheets("Additional Claims Detail").Range("A2").Copy _
Destination:=Worksheets("Claim").Range("B5")**

Worksheets("Additional Claims Detail").Range("H2").Copy _

Destination:=Worksheets("Claim").Range("D5")

Worksheets("Additional Claims Detail").Range("F2").Copy _

Destination:=Worksheets("Claim").Range("A7")

Worksheets("Additional Claims Detail").Range("G2").Copy _

Destination:=Worksheets("Claim").Range("C7")

**Worksheets("Additional Claims Detail").Range("C2").Copy _
Destination:=Worksheets("Claim").Range("A9", "B9")**

**Worksheets("Additional Claims Detail").Range("J2").Copy _
Destination:=Worksheets("Claim").Range("C9")**

Worksheets("Additional Claims Detail").Range("D2").Copy _

Destination:=Worksheets("Claim").Range("A11", "B11")

End Sub

以粗体显示的代码行是包含重复或不同的单元格。粗体单元格包含字母、数字和日期 (mm/dd/yyyy) 的组合。对于那些粗体代码行,我需要帮助不是复制重复项,而是跳过它们,如果有超过 3 个不同的单元格打印“查看下一个选项卡”。如果它们不同但少于三个,则宏继续正常执行并将它们打印在一个单元格上(最好采用这种格式:A、B、C)。希望其中一些有意义,我不介意澄清任何需要的东西。谢谢大家的帮助!

【问题讨论】:

标签: vba macos excel


【解决方案1】:

仅当单元格不匹配时才复制单元格,您可以使用:

If Worksheets("Additional Claims Detail").Range("A2") <> Worksheets("Claim").Range("B5") then
    Worksheets("Additional Claims Detail").Range("A2").Copy Destination:=Worksheets("Claim").Range("B5")
End if

等等。

(我不确定我是否遵循了您的其余问题)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 2023-01-31
    • 2022-01-08
    相关资源
    最近更新 更多