excel中,如何让表1,a列的数据,按照表2的规律,自动将数字归类显示在表1的c列。

上图是表2,a列是归类编号,b列的数据都是按1234的归类编号从小到大显示
下图是表1,然后让表1a列的数据,按照表2的规律来显示。
旁边cd列是做的效果图。注“1,如果表1的数据在表2中没有则不显示。2、如果表1a列中有重复则自动去除。

以上内容无法用公式自动完成,建议用VBA代码。
VBA(Visual Basic For Applications)是微软开发出来在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。VBA是Visual Basic的一个子集,VBA不同于VB,原因是VBA要求有一个宿主应用程序才能远行(需要在EXCEL等软件的运行下才能运行),而且不能用于创建独立应用程序。而VB可用于创建独立的应用程序。VBA可使常用的过程或者进程自动化,可以创建自定义的解决方案,最适用于来定制已有的桌面应用程序。
以下代码可实你的提问:
Sub 自动填充()
Dim i As Integer
lastcolumn = Worksheets("Sheet2").UsedRange.SpecialCells(xlCellTypeLastCell).Column
lastrow = Worksheets("Sheet1").UsedRange.SpecialCells(xlCellTypeLastCell).Row
Worksheets("Sheet2").Select
For i = 1 To lastrow
If Cells(i, 1) = "" Then
Worksheets("Sheet2").Cells(i, 1) = Worksheets("Sheet1").Cells(i, 1)

Else
Worksheets("Sheet2").Cells(i, lastcolumn + 1) = Worksheets("Sheet1").Cells(i, 1)
End If
Next
End Sub
具体用法如下:
ALT+F11打开VBE编辑窗口,双击thisworkbook打开对应的窗口,将以上代码复制到打开的窗口中,保存。返回工作表;工具--选项-安全性--宏安全性--中--确定。保存并关闭工作簿。
打开工作簿--启用宏
在sheet工作表中--插入一个文本框--输入录入--右击--指定宏--找到自动填充--双击--确定
在A工列输入数据后单击录入即可得到所要的结果。注意sheet2中的单元格不能进行格式设置.这是该代码的缺点.但何进行行高和列宽的调整.追问

感谢你的详细解答,用ait+f11,vba代码
是复制到表1,还是表2?
用alt+F8运行是吧?
可以麻烦做个附件吗?

温馨提示:答案为网友推荐,仅供参考
相似回答