请朋友给我写一个VBA函数,用于EXCEL之用。我现在一个工作簿里有200多张工作表,工作表的名称分别是甲,已

丙,我要在汇总表里实现功能:在C列里自动填充工作表的名称,在D列里自动填充各对应工作表中H200单元格里的数据。如果工作表之间插入工作表,总表相应的发生变化。
请大家帮忙啊,急啊!

汇总表的位置放在全部工作表的最前面
sub 汇总
for i=2 to sheets.count
sheets("汇总表").range("C"&i)=sheets(i).name
sheets("汇总表").range("D"&i)=sheets(i).[h200].value
next
end sub

汇总表的位置放在全部工作表的最后面
sub 汇总
for i=1 to sheets.count-1
sheets("汇总表").range("C"&i+1)=sheets(i).name
sheets("汇总表").range("D"&i)+1=sheets(i).[h200].value
next
end sub

汇总表的位置放在所有工作表的中间.懒得写代码了追问

朋友,我的汇总表是放在前面的,但是我输入代码后,运行后显示:运行是错误“9” 下标越界
还不行。。。请再帮忙下啊。急啊!

追答

你确认工作表名称是 汇总表 ?

追问

对不起,是我搞错了,现在工作表的名称在C列自动填充了,可是,在D列里没有对应工作表中H200单元格里的数据。比如:总表中C2显示了工作表名“甲”,但是在D列的D2没有显示“甲”工作表中单元格H200里的数据,因为,H200里的数据都是余额,我要在汇总表里体现,这样老板查看表格就很清楚了。其他明细帐就不用老板查看了。可否再帮忙。非常感谢!

追答

看来我得叫你一声哥了...这个VBA是我在自己的工作薄中验证过才贴上来的...

追问

这个是可以显示工作表名称,但是我在工作表之间插入工作表,汇总表还是不变化。

追答

插入工作表之后,再运行一次

追问

非常感谢你的热心帮助,虽然问题没有得到解决!希望还有朋友能帮我解决这个问题????

追答

如果我这个代码不能解决你的问题,就可能是你的问题本身没全面

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-11
Sub 汇总()
Dim i%, j1%
j1 = 1
For i = 1 To Sheets.Count
If Sheets(i).Name = "汇总表" Then
j1 = 0
Else
Sheets("汇总表").Range("C" & i + j1) = Sheets(i).Name
Sheets("汇总表").Range("D" & i + j1) = Sheets(i).[h200].Value
End If
Next
End Sub追问

这个朋友,问题得到解决。再帮我完善下,分就给你了!真的很感谢你的帮助!
是这样的:我每次的修改,不管是工作表名称,还是工作表内H200单元格的数据,我都要在按一次运行才能更新。能不能这样。我只要在汇总表某处随便单击一下,他就自动更新了呢?因为每次都要到VBA代码里点运行,很费事。再帮忙啊!非常感谢!

追答

Private Sub Worksheet_Activate()
Dim i%, j1%
j1 = 1 '表头的行数
For i = 1 To Sheets.Count
If Sheets(i).Name = "汇总表" Then
j1 = j1 - 1
Else
Sheets("汇总表").Range("C" & i + j1) = Sheets(i).Name
Sheets("汇总表").Range("D" & i + j1) = Sheets(i).[h200].Value
End If
Next
End Sub

参考资料:注意,放在汇总表的工作表的代码里面就好了!

本回答被提问者采纳
第2个回答  2012-06-11
能上传你的文件吗?可以修改好给你追问

因为是财务报表,不能外传,很抱歉!可否帮解答呢?急啊。。。。

追答

不需要什么内容啊,只要你随意填写一下项目及数值

相似回答
大家正在搜