EXCEL中的宏

来源:百度知道 编辑:UC知道 时间:2024/05/28 19:02:19
比如说在一列自动筛选的数据中,如何能让这列数据自动归类,并体现出它所包含的其他数据?

提示:可以利用宏,用VB编制
请注意E这列,我希望在5、6、7、8、9上分别做一个下拉框或按钮,一点它就能显示出它所包含的所有数据

ABCDE
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9
1 2 3 4 8
2 3 4 5 9
3 4 5 6 6
4 5 6 7 7
5 6 7 8 5
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8
5 6 7 8 9

==========================

ABCDE
1 2 3 4 5
1 2 3 4 5
5 6 7 8 5
1 2 3 4 5

……

ABCDE
5 6 7 8 9
5 6 7 8 9
2 3 4 5 9
5 6 7 8 9

我这个横线后面的就是自动筛选的啊!我这里只是举个例子,真正要做的表比这个数据多也复杂,而且是全英文界面的,很多人看不懂。所以必须要有一个这样的程序,使要做的那个表看起来比较清楚明白。我们之前都是用得很笨的方法,做了很多SHEETS,并给它们加LINKS,但文件太大了,刚做到字母C就150多兆了,行不通!
==============
ACCESS的有专人在做,那个比较费时间。我们做EXCEL,希望这两天之内就能做好。

跟我上次说的那样,你再看看!你总是不在线,给你发到这里了。你的原数据太复杂,我试着做了一下,你试一下。(双击即可。)

=================

Sub detail()

If ActiveSheet.Name = "Sheet1" Then
Else
MsgBox "Please go to sheet1 to select system"
GoTo line1
End If

If ActiveCell.Column = 15 Then
Else
MsgBox "Please select right system"
GoTo line1
End If

If Len(ActiveCell.Value) < 3 Then
MsgBox "Please select right system"
GoTo line1
End If

ActiveWorkbook.Unprotect
Dim system
Dim input_data(2000, 47)
Dim input_labelid(2000)
Dim input_pec(2000)
d = 1
first_row = 0

system = ActiveCell.Value
'sheetname = system can delete
new_sheetname = system
Dim rowcount
Range("A1").Select
Selection.SpecialCells(xlCellTypeLastCell).Select
Selection.End(xlToLeft).Select
rowcount =