我是擅长excel并且对它有非常基本的了解。我希望有人可以帮助我,因为我现在试图找几天类似的公式或VBA代码而没有运气。
我需要公式或VBA在范围内找到相同的值,并且当第一个匹配值find移动到新列时。
例如:
A1中的值检查H列中的所有值,如果找到相同的值,则将该值移动到B1,然后再检查A1中的值,如果找到相同的值,则检查H列中剩余的值移动到C1,每次发现A1与H列中的值相同将该值移动到新列D1,E1 .....继续,直到检查了H列中的所有值并移动匹配的值。在A2中的该值与H列中的所有值进行核对并且所有匹配值移动到B2,C2,E2等之后继续直到所有值都从列H移开。
移动前数据的显示方式:
0 A B C D E F G H
----------------------------------------------------------
1 123 123
2 256 123
3 333 123
4 123
5 123
6 256
7 256
8 333
9 333
10 333
11 333
12 333
13 333

0 A B C D E F G H
----------------------------------------------------------
1 123 123 123 123 123 123
2 256 256 256
3 333 333 333 333 333 333 333
4
5
6
7
8
9
10
11

答案 0 :(得分:0)
这样的事情: -
Sub tester()
With ActiveSheet
For Each cell In .Range("A1:" & .Range("A1").End(xlDown).Address)
i = 1
For Each c In .Range("H1:" & .Range("H1").End(xlDown).Address)
If cell.Value = c.Value Then
cell.Offset(0, i).Value = c.Value
i = i + 1
End If
Next
Next
End With
End Sub
注意:这不会清除运行运行的结果。