excel 工作薄中有多个工作表,想在每个工作表的固定位置做个编号

比如多个表Sheet1、Sheet2、Sheet3……每个表的D5处分别为001、002、003……
怎样自动在每个表的D5处分别做编号如Sheet1的D5为001、Sheet2的D5为002、Sheet3的D5为003……

需要设置序号的位置为G3

建议:通过页面设置,在页脚的右下方插入工作表名。如图:

可以用序号来命名工作表名,这样就达到了在工作表固定位置做个编号的目的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-03
点sheet1标签,按住shift键,再点最后一张sheet标签,这时就同时选中多张表
这时,点D5,录入如下公式
=TEXT(SUBSTITUTE(REPLACE(CELL("filename",A1),1,FIND("]",CELL("filename",A1)),),"Sheet",""),"000")
注意,将文件保存关闭,再打开,你就可以看到效果了追问

我的工作表名不是Sheet1、Sheet2、Sheet3这样的怎么办啊,现在是人名,一人一个表

追答

那就用VBA解决了,如楼下代码

第2个回答  2011-08-03
你的这个要求需要用vba的。
即使你换了工作表的表名也可以。
模块代码如下

Sub 编号()
For i = 1 To ActiveWorkbook.Worksheets.Count
ActiveWorkbook.Worksheets(i).Cells(100, 3).Value = Format(i, "000")
Next
End Sub

如果是顺序的工作表名,sheet1 sheet2 sheet3……,那你可以用宏表函数。追问

怎么设置得到的数在那个位置啊

追答

噢。看错你的题目了。
我的代码是产生在C100
你是想产生在D5
那代码需要把cells(100,3)修改为cells(5,4)
详细过程如下
打开工作表,
按下alt+F11
菜单中,“插入”“模块”
再将下面的内容复制到右边的空白区

Sub 编号()
For i = 1 To ActiveWorkbook.Worksheets.Count
ActiveWorkbook.Worksheets(i).Cells(5, 4).Value = Format(i, "000")
Next
End Sub

然后存盘退出
重新打开这个文件
打开时选择启用宏。
然后按下alt+F8
宏列表里有一个编码的宏,选择执行,即可。

上面的步骤不可跳过也不可不做。
如果不明白,可以hi或者扣扣 63639139详细谈

追问

感谢,我再问下,我第二个工作薄也同样有好多工作表,并且序号要跟上一个排上,比如第一个最后到030,另一个工作薄要从031开始,怎么弄啊

追答

这个要遍历目录下的工作表了。
而且遍历的顺序还需要再甄选,已经超出了你的原提问范畴。

其实是我自己没好的思路去解决怎么甄别其他工作簿,呵呵。

追问

不可以设置个起始编号吗?我把上面的 = Format(i, "000")
改成 = Format(i, "030")
结果都变成130、230...........这样的了

追答

不可以的
i才是数值。如果你要从30开始。
那就是
=format(i+30,"000")
"000"是指的格式,三位数值的意思
i和i+30才是数值段。

本回答被提问者采纳
第3个回答  2011-08-03
你说的在清楚点
相似回答