如何根据条件将所需的数据行从一张Excel表复制到另一张表中?
问题描述:
我有一个7k行数据的Excel表,我需要根据列(组名)将这些数据分成三个不同的表。如何根据条件将所需的数据行从一张Excel表复制到另一张表中?
因此,我需要根据组名称(有3个组)分成三个不同的表。
请让我知道对此...提前
谢谢...
嘉
答
你可以尝试这样的事情,把它放在一个宏观和需求
运行Sub Macro1()
Dim rowCounter As Integer
Dim usedRange As Range
Dim sourceSheet As Worksheet, dest1 As Worksheet, dest2 As Worksheet, dest3 As Worksheet
Dim dest1Row As Integer, dest2Row As Integer, dest3Row As Integer
dest1Row = 1
dest2Row = 1
dest3Row = 1
Set sourceSheet = Sheets("Sheet1")
Set dest1 = Sheets("Sheet2")
Set dest2 = Sheets("Sheet3")
Set dest3 = Sheets("Sheet4")
Set usedRange = sourceSheet.usedRange
For rowCounter = 1 To usedRange.Rows.Count
If (usedRange(rowCounter, 1) = 1) Then
usedRange.Range(Cells(rowCounter, 1), Cells(rowCounter, usedRange.Columns.Count)).Copy dest1.Range("A" & dest1Row)
dest1Row = dest1Row + 1
ElseIf (usedRange(rowCounter, 1) = 2) Then
usedRange.Range(Cells(rowCounter, 1), Cells(rowCounter, usedRange.Columns.Count)).Copy dest2.Range("A" & dest2Row)
dest2Row = dest2Row + 1
ElseIf (usedRange(rowCounter, 1) = 3) Then
usedRange.Range(Cells(rowCounter, 1), Cells(rowCounter, usedRange.Columns.Count)).Copy dest3.Range("A" & dest3Row)
dest3Row = dest3Row + 1
End If
Next rowCounter
End Sub
非常感谢...... 我执行了上面的宏...但是我只能看到复制了源表格的第一行 到其他工作表(sheet2,sheet3).. 可能是什么问题? – kar 2009-11-20 07:58:27
如果您调试宏,usedRange.Rows.Count的值是什么? – 2009-11-20 08:27:40