你好 我想向您咨询一个excel 多个名称 同时被替换成一个名称问题

问题是这样的:举例说比较方便:假设目前有3个excel工作簿A B C,每个工作簿包含不同数量的工作表,A包含A1 A2 A3 B包含B1 B2 C包含C1 C2 C3 C4 现在需要把每个工作簿中的所有工作表汇总到一个新的工作簿中X中,工作表数量是一一对应的,新工作簿中每一个工作表的名字命名为原工作簿+工作表的名字:这就是说在工作簿X中有9个新的工作表,每个工作表的名字分别是 A-A1 A-A2 A-A3 B-B1 B-B2 C-C1 C-C2 C-C3 C-C4,这个功能如何用vb实现呢?
因为 我不会用vb语言,只在网上找现有的语言 输入到编剧页面,但是需要根据实际情况做修改的时候 我就完全不知道怎么办了。
希望您能指导一下这个应该如何编辑,还有就是 如果希望能了解一下vb语言的话 您有什么建议和指导?
非常感谢!!


Sub HB()

Dim iPath, MyFileName As String

Dim Sht As Worksheet

iPath = ThisWorkbook.Path & "\"  '工作薄所在路径

MyFileName = Dir(iPath & "*.xls")  '获得一个该路径下的工作薄名称

If MyFileName <> "" Then '如果获得的文件名不为空

    Do 'do循环

        If MyFileName <> ThisWorkbook.Name Then '判断获得的文件名不为自身

            Workbooks.Open iPath & MyFileName   '打开这个工作薄

                For Each Sht In Workbooks(MyFileName).Sheets    '用for each 循环顺序读取打开工作薄的工作表

                    Sht.Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count) 'copy工作表到当前工作薄

                    ActiveSheet.Name = Left(MyFileName, Len(MyFileName) - 4) & "-" & ActiveSheet.Name '修改copy过来的工作表名称

                Next

                Workbooks(MyFileName).Close False   '关闭打开的工作薄

        End If

        MyFileName = Dir   '获得下一个工作薄的名称

    Loop While MyFileName <> "" '如果获得的文件名不为空则继续循环

End If

End Sub

来自:求助得到的回答
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-08
许多个不一样的换成一个一样的,还是许多一样的换成另外一种?

你好 我想向您咨询一个excel 多个名称 同时被替换成一个名称问题
Dim Sht As Worksheet iPath = ThisWorkbook.Path & "\\" '工作薄所在路径 MyFileName = Dir(iPath & "*.xls") '获得一个该路径下的工作薄名称 If MyFileName <> "" Then '如果获得的文件名不为空 Do 'do循环 If MyFileName <> ThisWorkbook.Name Then '判断获得的文件名不为自身 W...

你好。请问,怎样把一个Excel文档下多个工作表,直接转换成单个文件。以...
第一步:打开你的工作簿,创建一个空表工作表(sheet1的位置)第二步:工具菜单-选项-安全性-宏安全性-设置成“中”等 第三步:工具菜单-宏-宏-宏名-输入个名字--点创建 第四步:弹出来一个框框 【在“Sub 合并工作表()”下面,将以下的字符复制粘贴过去】Dim m As Integer Dim n As Inte...

你好 我想把Excel里的客户名称名单 对应生成固定模板的每份合同_百度知 ...
第一步:创建一个模版工作表。第二步:在客户档案里建立一个文档生成按钮,编写此按钮的红代码,让它调用客户档案中的信息,利用模版工作表循环创建所有人的合同工作表。

如何将excel某一列各行的前几位数字,批量替换成指定的数值
方法1,双击填充柄,如果前一列连续多行,则可填充相同多行 方法2,先输入要填充的公式,按下SHIFT+CTRL+方向键下,再按下CTRL+D 方法3,按下SHIFT+CTRL+方向键下,再在编辑栏里输入公式,再按下CTRL+回车 方法4,名称框输入需要填充的范围 (比如 A2:A1000) 回车 公式编辑栏输入要复制的公式后,同时按...

你好,我想请教一下如何批量提取同一个excel文件里多个工作表的某一...
=sheet1!a1&sheet1!b1&sheet1!c1&...表名加!加单元格名称加&符号

您好,我想付费希望您可以协助我处理一个EXCEL的问题,感激不尽!_百度知 ...
你好:第一种方法:你先将A列B列的所有数据选中,然后在“数据”菜单栏下选择“删除重复项”就OK了。如下图:注:A列\\B列都要勾选 方法二:使用数组公式:依你所说数据有1200条的情况,且表单如你附图所示,则你可在C1单元格内输入公式:=IF(SUM(1\/COUNTIF($B$1:$B$1200,$B$1:$B$1200...

excel,在一个单元格中有多个选项
数据-有效性-序列 数据来源输入各个选项,各选项以半角逗号隔开即可。如:你好,谢谢,再见 在名称管理器中定义名称,然后在数据有效性中输入=indirect("你好")详细步骤可以搜索二级下拉菜单

你好Excel表格中如何设置公式,表1,A1里面有多个产品 ,输入其中一个名称...
度友,看看这个效果 具体公式为:=IF(FIND(D2,A2,1)>0,B2,“”)如有需要可以继续交流!

如何将多个不同的excel文件放在一个excel文件里
1、新建一份表格,点击工具栏上面的数据,新建查询-从文件-从文件夹路径点击打开。2、然后就弹出一个对话框,点击右手边的浏览选项。3、然后在电脑里面选择需要合并的excel文件,点击下面的合并选项。4、点击了之后再合并文件,合并后就可以点击sheet1,进入到查询编辑器里面。5、进入查询编辑器里面之后就...

你好!我想向您咨询一个关于Excel数据自动生成的问题
在表一中你需要自动生成数据的单元格中输入“=”,然后找到你要的另外两个表中的数据,用鼠标点击就行了。比如你想在表三中实现”表一“+”表二“的值,只要在“表三”的单元格中输入“=”,然后点击“表一”中的单元格,接着返回“表三”再输入“+”,再点击“表二”中的单元格。最后回车就...

相似回答