我有一个像这样的excel文件:
Key_Col Column Column
A foo bar
A foo bar
A foo bar
B foo bar
B foo bar
Z foo bar
Z foo bar
Z foo bar
Z foo bar
我想选择共享相同Key_Col的所有行,然后将其复制并粘贴到新工作表中。例如,我想选择所有三个' A'行,都是' B'行,以及所有4' Z'行,并将每个行复制到一个单独的工作表中。
我刚用A,B和Z作为例子。实际上,键列中有几个不同的值,每个值可变。我还没有在Google上找到很多优秀的VBA教程。在任何其他编程语言中,我想我只会使用一个双循环,其中内部循环,而current_key等于initial_key,然后继续前进到序列中的下一个唯一键。
答案 0 :(得分:0)
这应该可以做,有些事情需要注意:
我假设你想要第1列,更改它,将(startselect,1)更改为你的列。
Dim StartSelect As Integer
Dim EndSelect As Integer
Dim PasteSheet As Integer
Dim SourceSheet As Integer
Sub Macro1()
StartSelect = 1
PasteSheet = 2
SourceSheet = 1
While Sheets(SourceSheet).Cells(StartSelect, 1) <> ""
EndSelect = StartSelect
While Sheets(SourceSheet).Cells(StartSelect, 1) = Sheets(SourceSheet).Cells((EndSelect+1), 1)
EndSelect = EndSelect + 1
Wend
Sheets(SourceSheet).Rows(StartSelect & ":" & EndSelect).Copy
If PasteSheet > Sheets.Count Then Sheets.Add After:=Sheets(Sheets.Count)
Sheets(PasteSheet).Paste
PasteSheet = PasteSheet + 1
StartSelect = (EndSelect + 1)
Wend
End Sub