我在excel中有以下类型的数据:
年|贸易流程|合作伙伴|商品代码|商品|数量单位|数量|净重(kg)|贸易价值(美元)
在年份列中,它的范围从1990年到2014年。我需要开发一个宏代码,以便它可以单独过滤年份的值,然后将其粘贴到同一个Excel文件的不同工作表中。
在这方面有任何帮助。会很棒的。
感谢。
答案 0 :(得分:0)
遍历行。每次新的一年,插入当年的工作表并将行复制到它。
这假设您的数据位于sheet1上,并且您没有名为1990,1991,1992等的表格。
这也假定您的数据按ColumnA(年份)排序。
Private Sub CommandButton1_Click()
Dim ws As Excel.Worksheet
Dim strValue As String
Set ws = ActiveWorkbook.Sheets("Sheet1")
Dim jRow As Long
Dim lRow As Long
lRow = 1
jRow = 1
ws.Activate
'Loop through and copy the records to the new sheet.
Do While lRow <= ws.UsedRange.Rows.count
'If this is a new year, create a sheet for it.
If ws.Range("A" & lRow).Value <> strValue Then
strValue = ws.Range("A" & lRow).Value
Worksheets.Add(After:=Worksheets(Worksheets.count)).name = strValue
jRow = 1
End If
ws.Rows(lRow).Copy Destination:=Worksheets(strValue).Range("A" & jRow)
jRow = jRow + 1
lRow = lRow + 1
Loop
End Sub