所以我相信如果你了解VBA的方式,这很容易,我只是havnet能够让它为我工作。
这是我所拥有的表的一个例子。如果列A相同,我想将所有内容都移动到一行中。这是表,我也期待着。
A B C D E F G H I
11 Yes Yellow 8/1/2013 20:46 11 Yes 8/1/2013 20:46 Yellow 8/1/2013 20:46
11 No Blue 8/1/2013 20:46 12 Yes 8/1/2013 20:46 Yellow 8/1/2013 20:46
11 YY Red 8/1/2013 20:46 13 Yes 8/1/2013 20:46 Red 8/1/2013 20:46
11 NN Yellow 8/1/2013 20:46
11 YYY Yellow 8/1/2013 20:46
11 NNN Blue 8/1/2013 20:46
11 YYYYY Red 8/1/2013 20:46
11 NNNN Yellow 8/1/2013 20:46
12 Yes Yellow 8/1/2013 20:46
12 No Blue 8/1/2013 20:46
12 YY Red 8/1/2013 20:46
12 NN Yellow 8/1/2013 20:46
12 YYY Yellow 8/1/2013 20:46
12 NNN Blue 8/1/2013 20:46
13 Yes Red 8/1/2013 20:46
13 No Yellow 8/1/2013 20:46
13 YY Yellow 8/1/2013 20:46
13 NN Blue 8/1/2013 20:46
13 YYY Red 8/1/2013 20:46
13 NNN Yellow 8/1/2013 20:46
这就是我试图用VBA做的事情。不是最好的,但我在尝试。
Sub Sample()
Dim lastRow As Long, i As Long
Dim ws As Worksheet
Set ws = Sheets("Sheet1")
lastRow = ws.range("A" & Rows.Count).End(xlDown).Row
With ws
For i = 1 To lastRow
If range("A" & i).Value = range("E" & i) Then range("f" & i).Value = range("b" & i).Value
Next i
End With
End Sub
有人可以帮助我完成这项工作所需的VBA。我遇到循环问题,循环并将每个A值与E中的每个值进行比较。
答案 0 :(得分:0)
所以你想把数据放在第1到8行,第B列到第D行,第1行,第F列和后面,因为对于第1到8行,A列中的'11'与E1中的'11'相匹配?
例如。 B1-> F1,C1-> H1(这是我缺少某个订单的第一个位置),D1-> G1,?? - > I1(来自第I列的内容来自哪里?) ,
(将下一个源行追加到同一目标行:) B2-> J1,...
首先,您需要澄清col到F(以及更远)的数据来自何处
然后:
如果我对你的意图的假设是正确的,那么这会带来其他问题:
以下是一些建议,澄清后代码可能会跟随:
一般建议:
答案 1 :(得分:0)
我不太确定你想要达到的目标。但是我根据自己的理解制作了一个代码。试试吧。
Sub Sample()
Dim lastRowA As Long, lastRowB As Long, i As Long
Dim ws As Worksheet
Set ws = Sheets("Sheet1")
With ws
lastRowA = .Cells(.Rows.Count, 1).End(xlUp).Row
lastRowE = .Cells(.Rows.Count, 5).End(xlUp).Row
End With
With ws
For i = 1 To lastRowE
CurrentEValue = Range("E" & i).Value
MatchFound = False
For j = 1 To lastRowA
CurrentAValue = Range("A" & j).Value
If CurrentAValue = CurrentEValue And Not MatchFound Then
Range("f" & i).Value = Range("b" & j).Value
MatchFound = True
End If
Next
Next
End With
End Sub