永发信息网

在一个Excel文件中做成的宏怎样导入到其他excel文件中

答案:3  悬赏:0  手机版
解决时间 2021-11-12 18:38
  • 提问者网友:呐年旧曙光
  • 2021-11-12 10:29
在一个Excel文件中做成的宏怎样导入到其他excel文件中
最佳答案
  • 五星知识达人网友:低血压的长颈鹿
  • 2021-11-12 11:54
模块上右键菜单——导出文件
新Excel文件中,打开VBA编辑器,导入文件,找到刚导出的文件导入即可。
如果需要执行这样检查的文件不是特别多的话,还是逐一导入模块比较合适;如果特别多的话,可以考虑专门制作一个模板文件(.xlt),在其中加上你的宏,然后你的这些文件就使用这个专门的模板,其他文件不会受影响的。
Excel的强大优势还在于它提供的宏语言Visual Basic for Application(VBA).Visual Basic是windows环境下开发应用软件的一种通用程序设计语言,功能强大,简便易用。VBA是它的一个子集,可以广泛地应用于Microsoft公司开发的各种软件中,例如Word、Excel、Access等。
全部回答
  • 1楼网友:西风乍起
  • 2021-11-12 12:39
有好多种方式,下面举例两种
隐藏Application对象取得数据
Sub HideApplication()
Dim MyApp As New Application
Dim Sht As Worksheet
Dim Temp As String
Temp = ThisWorkbook.Path & "\数据.xlsx"
MyApp.Visible = False
Set Sht = MyApp.Workbooks.Open(Temp).Sheets(1)
With Sht.Range("A1").CurrentRegion
Range("A1").Resize(.Rows.Count, .Columns.Count) = .Value
End With
MyApp.Quit
Set MyApp = Nothing
Set Sht = Nothing
End Sub

使用SQL连接取得数据
Sub UsingSQL()
Dim Sql As String
Dim j As Integer
Dim r As Integer
Dim Cnn As ADODB.Connection
Dim rs As ADODB.Recordset
With Sheet1
.Cells.Clear
Set Cnn = New ADODB.Connection
With Cnn
.Provider = "Microsoft.ACE.OLEDB.12.0"
.ConnectionString = "Extended Properties=Excel 12.0;" _
& "Data Source=" & ThisWorkbook.Path & "\数据.xlsx"
.Open
End With
Set rs = New ADODB.Recordset
Sql = "Select * From [Sheet1$]"
rs.Open Sql, Cnn, adOpenKeyset, adLockOptimistic
For j = 0 To rs.Fields.Count - 1
.Cells(1, j + 1) = rs.Fields(j).Name
Next
r = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range("A" & r + 1).CopyFromRecordset rs
End With
rs.Close
Cnn.Close
Set rs = Nothing
Set Cnn = Nothing
End Sub
  • 2楼网友:冷風如刀
  • 2021-11-12 12:30
模块上右键菜单——导出文件
新Excel文件中,打开VBA编辑器,导入文件,找到刚导出的文件导入即可。
====================================
如果需要执行这样检查的文件不是特别多的话,还是逐一导入模块比较合适;如果特别多的话,可以考虑专门制作一个模板文件(.xlt),在其中加上你的宏,然后你的这些文件就使用这个专门的模板,其他文件不会受影响的。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯