在mac上的excel中使用宏可以节省时间并执行更多操作

了解如何在Mac上使用Excel宏提高电子表格的生产力。...

Mac上的Excel并不总是和Windows上的一样强大。除非宏是专门为Mac创建的,否则宏实际上是不起作用的。

mac-excel-macros

从2013年开始,微软带回了宏。宏有两种类型:一种是可以通过快速记录操作来创建的宏,另一种是使用VBA来设计更高级的自动化程序的宏。在Office2016中,Excel在所有平台上使用相同的代码库。此更改将使宏更容易跨平台工作。

让我们来看看这是如何在macOS上工作的。

在mac上启用excel中的宏

默认情况下,在Mac上使用Excel中的宏可能无法启用。此设置是因为宏可能是恶意软件向量。最简单的方法是查看Excel功能区上是否有“开发人员”选项卡。如果您没有看到它,那么启用它很简单。

单击菜单栏中的Excel,然后在下拉列表中选择“首选项”。在菜单中,单击功能区和工具栏。在右边的列表中,Developer应该位于底部,单击复选框。最后,单击“保存”,您将看到“开发人员”选项卡显示在功能区的末尾。

使用宏创建每个工作簿后,请将其保存为新格式.xl**,以便在重新打开文件后使用宏。如果您忘记了,Excel会在每次尝试保存时提醒您。您还需要在每次打开文件时启用宏。

在mac上的excel中手动录制宏

虽然您可以编写宏,但这可能不适合所有人。如果您还没有准备好开始使用VBA,Excel允许您在现有工作表中记录宏的步骤。单击“开发人员”选项卡查看您的选项。

macros in excel on mac to save time

您正在功能区中查找第三个选项“录制宏”。单击此项,将弹出一个对话框,允许您命名宏并设置键盘快捷键。您可以将宏的范围限定到当前工作簿、新工作簿或个人宏工作簿中。个人宏工作簿位于您的用户配置文件中,允许您在文件之间使用宏。

一旦您记录了您的操作,它们就可以在同一选项卡上使用。单击宏将显示工作簿中保存的宏。单击宏名称,然后单击运行以运行录制的操作。

例1:日销售总额和小时平均值

对于一个宏示例,您将运行一个每日销售表,销售按小时总数进行细分。宏将添加每日总销售额,然后在每个小时周期的最后一列中添加平均值。如果你在零售或其他销售岗位工作,这是一个有用的表格来跟踪收入。

我们需要把第一张纸放好。每天使用第一个空格作为模板复制到新选项卡可以节省一些时间。在第一列/行中输入小时/日期。在顶部加上星期一到星期五。

然后在第一列中,把每小时的总数从8到5进行细分。我用的是24小时制,但如果你愿意,你可以用AM/PM表示法。您的工作表应该与上面的屏幕截图匹配。

macros in excel on mac to save time

添加一个新选项卡,并将模板复制到其中。然后填写当天的销售数据。(如果没有数据填充此工作表,可以在所有单元格中输入=randbween(101000)来创建虚拟数据。)接下来,单击功能区中的“开发人员”。

然后,单击录制宏。在对话框中输入名称AverageandSum,并将其保存在此工作簿中。如果你愿意,你可以设置一个快捷键。如果需要宏功能的详细信息,可以输入说明。单击“确定”开始设置宏。

在每小时列表的底部输入每日总计。在其旁边的单元格中,输入=SUM(B2:B10)。然后复制并粘贴到其余的列中。然后在标题中,在最后一列之后添加Average。然后在下一个单元格中,输入=Average(B2:F2)。然后,将其粘贴到列其余的单元格中。

然后单击停止录制。宏现在可以在添加到工作簿的每个新工作表上使用。一旦有了另一张数据表,请返回“开发人员”并单击“宏”。你的宏应该突出显示,点击运行添加你的总和和平均数。

本例可以为您节省几个步骤,但对于更复杂的操作,这些步骤可能会累加起来。如果对格式相同的数据执行相同的操作,请使用录制的宏。

mac上excel中的vba宏

Excel中手动录制的宏有助于处理大小和形状始终相同的数据。如果要对整个工作表执行操作,它也很有用。你可以用你的宏来证明这个问题。

macros in excel on mac to save time

在工作表中再添加一小时和一天,然后运行宏。您将看到宏覆盖了新数据。解决这个问题的方法是使用VBA(visualbasic的精简版)使用代码使宏更具动态性。实现的重点是办公自动化。

macros in excel on mac to save time

它并不像Applescript那样容易被获取,但Office的自动化完全是围绕Visual Basic构建的。所以,一旦你在这里使用它,你就可以很快地转身,并在其他办公应用程序中使用它。(如果你在工作中使用Windows PC,这也会有很大帮助。)

在Excel中使用VBA时,有一个单独的窗口。上面的屏幕截图是我们录制的宏,它出现在代码编辑器中。窗口模式有助于在学习过程中使用代码。当宏挂起时,可以使用调试工具查看变量和工作表数据的状态。

Office 2016现在提供了完整的Visual Basic编辑器。它允许您使用对象浏览器和调试工具,这些工具过去仅限于Windows版本。您可以通过进入“查看”>“对象浏览器”或按Shift+Command+B来访问对象浏览器。然后您可以浏览所有可用的类、方法和属性。这对下一节的代码构造非常有帮助。

例2:带代码的每日总销售额和每小时平均值

在开始编写宏之前,让我们先在模板中添加一个按钮。这一步使新手更容易访问宏。他们可以单击一个按钮来调用宏,而不是深入到选项卡和菜单中。

macros in excel on mac to save time

切换到最后一步创建的空白模板表。单击Developer返回选项卡。一旦你在标签上,点击按钮。接下来,单击模板上工作表中的某个位置以放置按钮。出现“宏”菜单,命名宏并单击“新建”。

visualbasic窗口将打开;您将看到它在项目浏览器中作为Module2列出。“代码”窗格的顶部有Sub AverageandSumButton(),底部有几行。您的代码需要介于这两行之间,因为它是宏的开头和结尾。

步骤1:声明变量

首先,需要声明所有变量。它们在下面的代码块中,但是需要注意它们是如何构造的。您应该在名称前使用Dim声明所有变量,然后使用datatype声明所有变量。

Sub AverageandSumButton() Dim RowPlaceHolder As Integer Dim ColumnPlaceHolder As Integer Dim StringHolder As String Dim AllCells As Range Dim TargetCells As Range Dim AverageTarget As Range Dim SumTarget As Range

既然已经有了所有的变量,就需要立即使用一些范围变量。范围是将工作表的各个部分作为地址保存的对象。变量All Cells将设置为工作表上的所有活动单元格,其中包括列和行标签。您可以通过调用ActiveSheet对象,然后调用UsedRange属性来实现这一点。

问题是您不希望标签包含在平均值和总和数据中。相反,您将使用AllCells范围的一个子集。这将是TargetCells的射程。您可以手动声明其范围。它的起始地址将是范围第二列第二行的单元格。

您可以通过调用AllCells范围来调用它,使用它的Cells类使用(2,2)来获取特定的单元格。要获取范围中的最后一个单元格,仍将调用AllCells。这次使用SpecialCells方法来获取属性xlCellTypeLastCell。您可以在下面的代码块中看到这两个。

Set AllCells = ActiveSheet.UsedRange Set TargetCells = Range(AllCells.Cells(2, 2), AllCells.SpecialCells(xlCellTypeLastCell))

步骤2:为每个循环

接下来的两段代码是针对每个循环的。这些循环通过一个对象来作用于该对象的每个子集。在本例中,您将执行其中两个操作,每行一个,每列一个。因为它们几乎完全相同,所以只有一个在这里;但是它们都在代码块中。细节几乎完全相同。

在为每行启动循环之前,需要设置循环写入每行平均值的目标列。您可以使用ColumnPocholder变量来设置此目标。将其设置为AllCells的Cells类的Count变量。添加一个,通过附加+1将其移到数据的右侧。

接下来,您将通过使用每个循环来启动循环。然后,您想为子集创建一个变量,在这种情况下,子例程。在输入之后,我们设置了我们正在解析TargetCells的主要对象。在末尾追加.Rows,将循环限制为仅限于每一行,而不是范围内的每个单元格。

在循环中,您使用活动页单元格方法在工作表上设置特定目标。坐标通过使用设置子行要获取当前循环中的行。然后,您将使用ColumnPlaceHolder作为其他坐标。

这三个步骤都用这个。第一个在括号后附加.value并设置为工作表函数。平均值(副标题)。这会将行的平均值的公式写入目标单元格。下一行追加.Style并将其设置为“Currency”。此步骤与工作表的其余部分匹配。在最后一行,添加。字体粗体把它设为真。(注意,这一行没有引号,因为它是布尔值。)这一行加粗字体,使摘要信息从工作表的其余部分中脱颖而出。

这两个步骤都在下面的代码示例中。第二个循环为列交换行,并将公式更改为Sum。使用此方法将计算与当前工作表的格式绑定。否则,它将链接到录制宏时的大小。因此,当您工作更多天或更多小时时,函数会随着数据的增长而增长。

ColumnPlaceHolder = AllCells.Columns.Count + 1 For Each subRow In TargetCells.Rows ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Value = WorksheetFunction.Average(subRow) ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Style = "Currency" ActiveSheet.Cells(subRow.Row, ColumnPlaceHolder).Font.Bold = True Next subRow RowPlaceHolder = AllCells.Rows.Count + 1 For Each subColumn In TargetCells.Columns ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Value = WorksheetFunction.Sum(subColumn) ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Style = "Currency" ActiveSheet.Cells(RowPlaceHolder, subColumn.Column).Font.Bold = "True" Next subColumn

第三步:给你的总结贴上标签

接下来,标记新行和列,再次设置RowPlaceHolder和columnpocholder。首先,使用所有单元格。行获取范围中的第一行,然后所有单元格。列+1获取最后一列。然后使用与循环相同的方法将值设置为“Average Sales”。你也会用同样的方法。字体粗体属性以加粗新标签。

macros in excel on mac to save time

然后将其反转,将占位符设置为第一列和最后一行,以添加“Total Sales”。你也要加粗。

这两个步骤都在下面的代码块中。这是end Sub所指出的宏的结尾。现在您应该拥有整个宏,并且可以单击按钮运行它。如果你想作弊,你可以把所有这些代码块粘贴到excel表中,但是在哪里有乐趣呢?

ColumnPlaceHolder = AllCells.Columns.Count + 1 RowPlaceHolder = AllCells.Row ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = "Average Sales" ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = True ColumnPlaceHolder = AllCells.Column RowPlaceHolder = AllCells.Rows.Count + 1 ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Value = "Total Sales" ActiveSheet.Cells(RowPlaceHolder, ColumnPlaceHolder).Font.Bold = TrueEnd Sub

mac上excel宏的下一步是什么?

录制的宏非常适合用于可预测的重复。即使是像调整所有单元格大小和加粗标题这样简单的事情,这些都可以节省您的时间。避免常见的宏错误。

visualbasic为Mac-Excel用户打开了深入研究办公自动化的大门。visualbasic传统上只在Windows上可用。它允许宏动态地适应数据,使它们更加通用。如果你有耐心的话,这可能是通向更高级编程的大门。

想要更多省时的电子表格技巧吗?了解如何在Excel中使用条件格式自动突出显示特定数据,在Mac上使用数字条件突出显示。

  • 发表于 2021-03-26 11:00
  • 阅读 ( 410 )
  • 分类:IT

你可能感兴趣的文章

如何构建vba宏的自定义excel工具栏

... 下面是如何开始使用自定义工具栏。 ...

  • 发布于 2021-03-13 16:39
  • 阅读 ( 364 )

5个excel宏资源,用于自动化电子表格

...。一旦你能写出简单的宏来解决简单的问题,你花在学习上的时间将是值得的。 ...

  • 发布于 2021-03-14 21:59
  • 阅读 ( 220 )

自动化重复任务的11个最佳microsoft onenote宏

...击“在单独的选项卡中显示”,将这些按钮发送到功能区上的新宏选项卡。 ...

  • 发布于 2021-03-15 05:53
  • 阅读 ( 279 )

如何在excel 2016中录制宏

... 录制时,可以使用“开发人员”选项卡上的“使用相对引用”切换。如果启用,宏将被记录为相对于初始单元格的操作。例如,如果在录制时单击单元格A1到A3,则从单元格J6运行宏会将光标移动到J8。如果禁用...

  • 发布于 2021-03-15 08:22
  • 阅读 ( 214 )

如何使用vba脚本从excel电子表格发送电子邮件

... CDO是Windows中使用的消息传递组件,从操作系统的早期版本就开始了。它以前被称为CDONTS,后来随着windows2000和XP的出现,被“windows2000的CDO”所取代。此组件已包含在Microsoft Word或Excel...

  • 发布于 2021-03-22 18:44
  • 阅读 ( 230 )

如何在microsoft word和excel中将“开发人员”选项卡添加到功能区

...员”选项卡。但您可以轻松地启用Word功能区和Excel功能区上的选项卡。首先让我们看看如何将“开发人员”选项卡添加到功能区。 ...

  • 发布于 2021-03-23 10:44
  • 阅读 ( 432 )

如何从google表单自动发送月度发票

... 如果您目前没有使用Google工作表跟踪**,您确实应该。即使你一生中从未编程过任何东西。 ...

  • 发布于 2021-03-23 13:40
  • 阅读 ( 274 )

关于在excel中编写vba宏的初学者教程(以及学习的原因)

Excel宏可以通过自动化经常使用的Excel过程来节省大量的时间。但是宏实际上是非常有限的。录音工具很容易出错,录音过程也很尴尬。 ...

  • 发布于 2021-03-24 10:07
  • 阅读 ( 244 )

如何用宏自动化google工作表中的重复任务

... 宏最终可供googlesheets用户使用。宏允许您自动执行文档和电子表格中的重复任务,而无需学习编写代码。 ...

  • 发布于 2021-03-24 23:19
  • 阅读 ( 289 )

通过本课程掌握excel电子表格函数、公式和数据分析

...介:您将详细了解Excel的基本功能,并了解在什么情况下使用每个功能。 Excel函数掌握课程:通过一个例子,你将了解如何使用每个函数和公式。例如,在学习日期和时间函数时构建假日日期计算器。并与数学和金...

  • 发布于 2021-03-28 03:39
  • 阅读 ( 296 )
kcr2047
kcr2047

0 篇文章