excel里面我想 用VBA实现调用另一个工作簿中的数据怎么解决

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel里面我想 用VBA实现调用另一个工作簿中的数据怎么解决相关的知识,希望对你有一定的参考价值。

参考技术A 此题是vba代码运用的问题。这里不想给出代码,而是给出方法,授人以渔。
excel的vba确实能给人方便,提高效率。但它的内置规则、控件引用确实挺考人记忆力。我们不是百科全书,如何不记忆代码规则实现编程?
答案是用excel的宏。你可以测试一下,在工作簿1中录制宏,在a1乱打字,然后点击另外一个工作簿,在b1乱打字,结束录制。
当打开这个宏的时候,是不是多了一段。
Windows("×××.xls").Activate
Range("A1").Select
……
这个是不是满足你需要解决的问题。

Excel VBA在生成副本的工作表中插入本工作簿中的VBA模块代码

即在工作簿中添加一个工作表,然后移出并存为新的工作簿,在移出前将本工作簿的一个模块的代码拷贝至新的工作簿。下面是关键代码:

        \'======================================================================
        \'各班名单保存为单个xls文件
        ActiveSheet.Move
        ChDir myPath
        \'忽略对话框,覆盖保存
        Application.DisplayAlerts = False
        
        \'班级名称增加“考生号处理”vba模块
        Dim iCodeLines As Integer
        Dim sCode As String
        iCodeLines = ThisWorkbook.VBProject.VBComponents("各班考号处理").CodeModule.CountOfLines \'取得模块中代码行数
        sCode = ThisWorkbook.VBProject.VBComponents("各班考号处理").CodeModule.Lines(1, iCodeLines) \'取得第1至iCodeLines行代码
        
        ActiveWorkbook.VBProject.VBComponents.Add(vbext_ct_StdModule).Name = "各班考号处理" \'新文件中添加“各班考号处理”模块
        ActiveWorkbook.VBProject.VBComponents("各班考号处理").CodeModule.AddFromString sCode \'把thisworkbook的“各班考号处理”模块代码添加到activeworkbook的模块中
        ActiveWorkbook.SaveAs Filename:=myPath & "\\2017级" & dickey & classTeacher & ".xls", FileFormat:=xlExcel8 \'文件另存为2003版(xlExcel8)xls文件

        ActiveWindow.Close

即将下图中的“各班考号处理”模块拷贝至新工作簿

 

原文件下载

以上是关于excel里面我想 用VBA实现调用另一个工作簿中的数据怎么解决的主要内容,如果未能解决你的问题,请参考以下文章

在 Excel 中,如何调用存储在另一个工作簿中的用户定义函数而无需打开另一个工作簿?

从电子表格调用另一个工作簿中的 VBA 函数

Excel VBA 宏将复制一系列单元格并粘贴到另一个工作簿中

Excel VBA如何从另一个工作簿中获取工作表对象

在 VBA 中使用 SQL 连接两个 Excel 工作簿中的数据(只读错误)

VBA 复制工作表至新的工作簿中的工作表