如何将相应的值添加到右列(我有一个代码,但不够快)

问题描述 投票:1回答:1

我的VBA代码有问题。我在VBA和编码方面非常新颖,非常需要帮助,谢谢! :)

我正在使用'test excel'来测试我的宏,并达成协议。在我的测试excel中,我具有从A到F的列。如果列A与列G具有相同的值,则必须向列F添加一个值。我还需要删除从A到C范围内的所有可能重复项。这是一个示例:

 A  B  C  D  E  F      G  H
 1  2  2  2  2         1  work
 2  3  3  3  3         2  school
 2  3  3  3  3
 4  1  1  1  1

 After macro ----->

   One
A  B  C  D  E  F         G  H
1  2  2  2  2  work      1  work
2  3  3  3  3  school    2  school
4  1  1  1  1

所以现在,列表已更新为F列的值,并删除了第三行(因为它是重复的。)>

这是我已经尝试过的。我不知道,该方法如何检查G列,如果值相同,则将H列的值添加到F列。这是我所做的:

Private Sub CommandButton1_Click()

ActiveSheet.Range("A1:E100").RemoveDuplicates Columns:=Array(1, 2, 3),     Header:=xlYes

For Each ordernmb In Range("A1:A100")
    If ordernmb = "1" Then
        ordernmb.Offset(0, 5).Value = "work"

    ElseIf ordernmb = "2" Then
        ordernmb.Offset(0, 5).Value = "school"

    End If

    Next ordernmb

End Sub

在真正的excel中,我有1万多行,15列,因此这段代码有点慢。我该怎么办?谢谢您的耐心:)

我的VBA代码有问题。我在VBA和编码方面非常新颖,非常需要帮助,谢谢! :)我使用'test excel'来测试我的宏,然后达成协议。在我的测试excel中,我有...

excel vba transfer
1个回答
2
投票

根据我的评论,您可以通过内存而不是Range对象来加快处理速度(一个接一个的访问单元很慢)。

© www.soinside.com 2019 - 2024. All rights reserved.