【问题标题】:Create Macro template to use on Spreadsheets创建宏模板以在电子表格上使用
【发布时间】:2013-02-15 05:00:18
【问题描述】:

我想知道是否可以(以及如何)创建一个带有特定宏的 Excel 模板,以便在我们从测量硬件导出的电子表格中自动使用该宏。

我们将硬件中的测量结果导出到 Excel 电子表格中。现在我们必须为每个电子表格编写相同的宏来过滤我们只需要的特定条件。

所以我们想要一个保存有这个宏的 Excel 模板,从我们的硬件中导入 Excel 电子表格,这样它每次都会自动过滤条件,所以我们可以立即使用它。

我们该如何安排?

【问题讨论】:

  • 你想直接在你的硬件程序中导入这个模板,还是什么?
  • @PeterL。说得好,模板是存储在您的 PC 上还是在您的测量设备上?如果它存储在您的 PC 上,您可以制作一个加载项,然后像往常一样添加它;这意味着您每次打开 Excel 时都可以使用这些宏。

标签: excel criteria vba


【解决方案1】:

如果假设您的测量硬件总是产生相同的输出文件名...

  • 1 - 您可以拥有一个包含导入和过滤数据文件的宏的模板。 在这种情况下,带有宏的文件不会作为模板服务

Sub LoadDataSheet()

Dim sWbkPath As String
sWbkPath = "PATH_TO_FILE\" & "FILE_NAME"

Dim wbkData As Workbook
Set wbkData = Workbooks.Open(sWbkPath)

DataFilteringMacro wbkData 'or sheet

结束子

  • 2 - 您可以使用仅在数据文件打开时显示功能区的插件

在“ThisWorkbook”模块中...

Dim WithEvents 应用程序作为应用程序

Private Sub Workbook_Open()

Set App = Application

结束子

Private Sub App_WorkbookActivate(ByVal Wb As Workbook)

'...
'if using a ribbon, you could put the code in the "GetVisible" callback
'and invalidate the ribbon in the App_WorkbookActivate()
'bVisible is the value set in the ribbon callback

Dim wbk As Workbook
Set wbk = ActiveWorkbook

If wbk.Name = "FILE_NAME" Then

    'bVisible = True 'the data file was loaded

Else

    'bVisible = False 'another file was loaded

End If

结束子

【讨论】:

  • @PeterL 此模板必须存储在我们的 PC 上。我们通过 Excel 电子表格从硬件中导出数据。然后我们想将这些数据导入到带有已实现宏的 Excel 电子表格中,因此在导入数据期间,它会自动过滤我们希望看到的条件..
  • 上面讨论的两种方法都可以存储在个人电脑或共享驱动器上。您可以通过电子邮件将模板或插件发送给其他工作人员...另一个用户只需要模板/插件的副本即可导入数据。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-09
  • 2011-02-18
  • 1970-01-01
  • 1970-01-01
  • 2015-06-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多