在Excel 2013中更改记录的VBA排序中的工作表

时间:2015-07-07 16:48:12

标签: excel excel-vba sorting vba

我在Excel 2013中记录了一个简单的排序宏,但它将工作表名称放在宏中:ActiveWorkbook.Worksheets("JUL15").Sort.SortFields.Clear。我使用宏来对不同工作簿中的十几个不同的工作表进行排序,它们都具有相同的布局。 如何让宏工作在我选择的任何电子表格上?

此外,Excel,选项,高级,通用:指定启动pgm不起作用。路径有效且二进制.xlsb有效,但在启动时不会打开。

我不是程序员,至少在PC上。

3 个答案:

答案 0 :(得分:0)

您可以使用ActiveSheet代替ActiveWorkbook.Worksheets("JUL15")

它将在打开的工作表上工作。

答案 1 :(得分:0)

使用宏中建议的 Activesheet 来处理当前活动的工作表。





但是,我认为问题的另一部分与使用Personal.xlsb有关,它在Excel启动时启动,并允许您的宏可用,无论您打开哪些电子表格。





这应该有助于您进入那个方向... https://support.office.com/en-ca/article/Copy-your-macros-to-a-Personal-Macro-Workbook-aa439b90-f836-4381-97f0-6e4c3f5ee566 <编辑:&#xA;如果文件被禁用,您可以尝试这样做: http://www.mrexcel.com/forum/excel-questions/506647-files-xlstart-not -opening-automated.html

&#xA;&#xA;

(进入加载项并确保Personal.xlsb文件不在禁用列表中。)

&#xA;

答案 2 :(得分:0)

这是用于将Excel 2010中的个人.xls中的宏转换为Excel 2013的解决方案.Excel 2013将personal.xls标记为错误并禁用它。您可以将宏复制到2013年的新Personal.xlsb,但是您需要转到“加载项”#39;并管理禁用的项目以启用新的personal.xlsb。