求vb代码:excel工作簿中,sheet1的A列显示其它工作表的A7单元格的内容,B列显示其它工作表C7单元格的内容

原表1如图1,想要的结果如图2请不要发EXCEL的公式来回答,那个方法我会,太繁琐了!我要的是VB的代码,请不会的人不要乱回答啊,谢谢!... 原表1如图1,想要的结果如图2
请不要发EXCEL的公式来回答,那个方法我会,太繁琐了!我要的是VB的代码,请不会的人不要乱回答啊,谢谢!
展开
 我来答
keao10000
2011-11-19
知道答主
回答量:18
采纳率:0%
帮助的人:18.5万
展开全部
在sheet1的A1单元格中输入“=Sheet2!$A$7“ 引号中的内容。A2、A3、A4...中的内容只需要将“sheet2”修改为其他sheet名。

同样的原理修改B列
在B1单元格中输入“=Sheet2!$A$7”引号中的内容。B2、B3、B4...中的内容只需要将“sheet2”修改为其他sheet名。
追问
没注意看哦,我要的是vb代码,你会吗?有一百多个工作表!!!!
追答
晕刚才给你回复的代码没有更新上去。
重新给你写一下吧

1、首先在运行代码之前,在excel文档中插入一个表,表的名字必须为sheet1(VBA代码里面暂时这么定的)
2、运行如下的代码,可以将所有其他表中的单元格A7的内容复制到表sheet1中的A列,将所有其他表中的单元格C7的内容复制到表sheet1中的B列。
Sub RenameWorksheets()
Dim i As Integer
i = 1
For Each myWorksheet In Worksheets
If myWorksheet.Name "sheet1" Then
Worksheets("sheet1").Cells(i, 1).Value = myWorksheet.Cells(7, 1).Value
i = i + 1
End If
Next

i = 1
For Each myWorksheet In Worksheets
If myWorksheet.Name "sheet1" Then
Worksheets("sheet1").Cells(i, 2).Value = myWorksheet.Cells(7, 3).Value
i = i + 1
End If
Next
End Sub

注意:运行此代码时,在当前文档中插入一个代码模块,粘贴代码,按F8,然后F5运行即可。
有什么问题,再继续联系,一定可以帮到你的。
thompson2002
2011-11-19 · TA获得超过176个赞
知道小有建树答主
回答量:307
采纳率:0%
帮助的人:244万
展开全部
A列单元格里填:=[其他工作表.xls]Sheet1!$A$7
其他工作表与你新工作表要放在一个目录下,否则需要写绝对路径
更多追问追答
追问
我要的是vb代码哦!有138个工作表,要点死人的。。。
追答
现在没时间写代码,只能提供思路:
用VB程序遍历,得到文件路径。
然后打开一个新的xls文件,在A列单元格里直接写字符串
"=[" & filename & "]Sheet1!$A$7"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lin1976_2009
2011-11-19
知道答主
回答量:42
采纳率:0%
帮助的人:8.1万
展开全部
Sub 汇总()
Dim i As Integer
Dim j As Integer
j = 2
For i = 2 To ThisWorkbook.Worksheets.Count

Sheet1.Range("a" & i).Value = Worksheets(j).Range("a7").Value
j = j + 1
Next i
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式