vb + excel 问题,菜鸟求教

来源:百度知道 编辑:UC知道 时间:2024/05/06 08:12:12
第一张表,
ID YEAR
1 2001
1 2002
2 1999
2 2000
2 2001
3 1999
3 2000
第二张
ID AGE
1 10
2 12
3 11
我想用VB建个宏使无论有多少个ID,都可以自动在第三张表里排列成:
ID YEAR AGE
10
1 2001
1 2002
12
2 1999
2 2000
2 2001
11
3 1999
3 2000

谁能给我个代码可以直接用?
第三张表里,10,11,12是在AGE下面的

是,excel电子表格.

Sub Macro1()
'
'
'
'
Sheet3.Cells.Clear
Sheet3.Cells(1, 1) = "ID"
Sheet3.Cells(1, 2) = "YEAR"
Sheet3.Cells(1, 3) = "AGE"

Dim I As Long
Dim J As Long
Dim K As Long
Dim ID As String

I = 1
J = 2
K = 1
Do
DoEvents
I = I + 1
ID = Sheet2.Cells(I, 1)
Sheet3.Cells(J, 3) = Sheet2.Cells(I, 2)
Do
DoEvents
K = K + 1
If Sheet1.Cells(K, 1) = ID Then
J = J + 1
Sheet3.Cells(J, 1) = Sheet1.Cells(K, 1)
Sheet3.Cells(J, 2) = Sheet1.Cells(K, 2)
End If
Loop While Sheet1.Cells(K, 1) <> ""
K = 0
J = J + 1
Loop While Sheet2.Cells(I, 1) <> ""
'
End Sub

那么三张表是什么概念?