excel 实现多个工作表中相同单元格的数值依次递增

一共有5个列表签,想使每个列表签的a1格中的数值随着列表签依次递增,比如第一个列表签a1中输入第1层 ,第二个列表签a1中为第2层,依次类推。宏命令如下
Sub 层数()
Dim i&, x&
Dim rq As Date
i = Sheets.Count
rq = 第1层
For x = 1 To 5
With Sheets(x)
.Range("E18") = rq
.PrintOut
rq = rq + 1
End With
Next x
End Sub
问题是执行宏以后,a1单元格全部变成了数字,汉字保留不了,怎么保留汉字?
第一个表格 a1格为第1层 第二个表格 a1格为第2层 第三个表格 a1格为第3层 依次类推,想编个宏 能批量让a1格里的数字随着表格递增 要不一个表一个表的输入 工作量太大

方法一

假设这个20位的数据写在A1单元格(超过15了一般是文本格式的数据),则可以在A2单元格写入公式:

=LEFT(A1,14)&RIGHT(A1,LEN(A1)-14)+1

下拉填充公式


如图中的A2单元格写入公式后下拉填充

方法二

假设是要使“12345678901234567890”这样的数据下拉后尾数自动递增,那可么可以在单元格中写入公式

=12345678901234&567889+ROW(A1)

下拉填充公式


如图

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-02-24
从程序上看,你输入的单元格是“E18”,而非“A1”。改为:.Range(“A1”)=“第” & x & “层”,无需rq。追问

那每五个表一个循环呢 例如 第一个表到第五个表为第1层到第5层 第六个表到第十一个表也是第1层到第5层 一次类推

追答

假如有五万个表:

Sub 五万个表()
For j = 1 To 50000 Step 5
For i = 1 To 5
a = "sheet" & j
Worksheets(a).Range("A1") = "第" & i & "层"
j = j + 1
Next i
j = j - 5
Next
End Sub

追问

按你的方法 出现这样的错误了  咋整

追答

程序应该没问题,出错时 j 和 i 的值分别是多少?

第2个回答  2014-02-24
Sub 层()
For i = 1 To 5
a = "sheet" & i
Worksheets(a).Range("A1") = "第" & i & "层"
Next i
End Sub本回答被网友采纳
第3个回答  2014-02-23
看不懂在描述什么,弄个图或附件别人才好知道。
相似回答