我正在运行一个基于单元格更改的背景宏。当我创建一个新文件时,我想创建一个宏,用我的后台宏导入.csl文件,以替换“Microsoft Excel Objects”中的“Sheet1”。我在网上搜索过,但我似乎无法找到适合我的问题的解决方案。现在我只是在每次打开一个新文件时将代码复制并粘贴到Sheet1中,但这有点令人烦恼..
我想移动的代码如下:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 1 Then
If InStr(1, Range(Cells(Target.Row, Target.Column - 1), Cells(Target.Row, Target.Column - 1)).Value, "pos from Rapid") Then
If Not IsEmpty(Target.Value) Then
Application.DisplayAlerts = False
Range(Target.Address).Select
Selection.TextToColumns Destination:=ActiveCell.Offset(0, 3).Range("A1"), _
DataType:=xlDelimited, TextQualifier:=xlNone, ConsecutiveDelimiter:=False _
, Tab:=False, Semicolon:=False, Comma:=True, Space:=False, Other:= _
False, FieldInfo:=Array(Array(1, 1), Array(2, 1), Array(3, 1)), DecimalSeparator _
:=".", TrailingMinusNumbers:=True
Application.DisplayAlerts = True
Else
Range(Cells(Target.Row, Target.Column + 3), Cells(Target.Row, Target.Column + 5)).Value = ""
End If
End If
End If
End Sub
答案 0 :(得分:0)
我确定你想要做的事情是可能的,但是,为了简单起见,我建议从新的空Excel工作簿开始,导入.cls
文件,然后File | Save As
使用类似My Classy Workbook
的名称并将Save As Type
设置为Excel Macro-Enabled Template (*.xltm)
。 注意:请注意,当您保存文件时,因为Excel希望将所有模板放在默认模板目录中 - 如果您需要覆盖目录位置,则必须覆盖目录位置。我想把它放在其他地方。
然后,当您需要一个包含该类的新工作簿时,只需打开您的模板,Class模块就已存在。这还有打开模板的副本的附加好处(默认情况下命名为我的优雅工作簿 1 .xlsm ),所以任何额外的工作你在新文件中执行不会覆盖原始模板。
打开模板(预装了Class)可直接从Windows资源管理器或VBA代码中运行。
如果您需要编辑模板本身(例如修复或更新类文件),您可以在Windows资源管理器中right-click
该文件,然后选择Open
。否则,您只需获取模板的副本即可使用。