在Mac上的Excel中使用宏可节省时间并做更多事情

在Mac上的Excel中使用宏可节省时间并做更多事情

Mac上的Excel并不总是与Windows一样强大。 除非宏是专为Mac创建的,否则它们实际上是行不通的。

立即解锁免费的“基本Excel公式”备忘单!

这将使您注册我们的新闻通讯

从2013年开始,Microsoft恢复了宏。 宏有两种类型:可以通过快速记录操作来创建的宏,以及使用VBA设计更高级的自动化的宏。 在Office 2016中,Excel在所有平台上使用相同的代码库。 此更改将使宏更易于跨平台工作。

因此,让我们看一下当前在macOS上的工作方式。

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

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

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

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

您正在功能区“记录宏”中寻找第三个选项。 单击此按钮,然后会弹出一个对话框,允许您命名宏并设置键盘快捷键。 您可以将宏的范围划分为“当前工作簿”,“新工作簿”或“个人宏工作簿”。 个人宏工作簿在用户配置文件中,可让您在文件之间使用宏。

记录您的操作后,这些操作将在此同一选项卡上可用。 单击宏将在您的工作簿中显示已保存的宏。 单击您的宏名称,然后单击运行以运行您记录的操作。

对于示例宏,您将遍历每日销售额表,并按小时总计细分销售额。 您的宏将添加每日总销售额,然后在每个小时段的最后一列中添加平均值。 如果您从事零售或其他销售职位,这对跟踪收入很有帮助。

我们需要设置第一张纸。 每天使用第一个空白作为模板复制到新标签可以节省您的时间。 在第一列/行中输入小时/日期。 在顶部添加星期一至星期五。

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

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

然后,单击记录宏。 在对话框中,输入名称“ AverageandSum”,并将其存储在“此工作簿”中。 您可以根据需要设置快捷键。 如果需要有关宏功能的更多详细信息,可以输入描述。 单击确定以开始设置宏。

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

然后单击停止录制。 您的宏现在可以在您添加到工作簿的每个新工作表上使用。 获得另一张数据表后,请返回到Developer并单击Macros。 您的宏应突出显示,单击运行以添加总和和平均值。

此示例可以为您节省几个步骤,但是对于可能累加的更复杂的操作。 如果对格式相同的数据执行相同的操作,请使用记录的宏。

Excel中手动记录的宏可帮助您始终保持相同大小和形状的数据。 如果要在整个工作表上执行操作,它也很有用。 您可以使用宏来证明问题。

在工作表中再添加一个小时和一天,然后运行宏。 您会看到宏覆盖您的新数据。 解决此问题的方法是使用代码,通过VBA(这是Visual Basic的精简版)使宏更加动态。 实施重点是Office的自动化。

提起Applescript并不那么容易。什么是AppleScript? 编写第一个Mac自动化脚本什么是AppleScript? 编写第一个Mac自动化脚本AppleScript可以帮助您在Mac上自动化重复的任务。 这是概述,以及如何编写您的第一个AppleScript脚本。了解更多,但Office的自动化完全基于Visual Basic构建。 因此,一旦在此处使用它,您便可以快速转身并在其他Office应用程序中使用它。 (如果您坚持使用Windows PC,这也可能是一个很大的帮助。)

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

Office 2016现在带有完整的Visual Basic编辑器。 它使您可以使用以前仅限于Windows版本的对象浏览器和调试工具。 您可以通过以下方法访问“对象浏览器”:进入“视图”>“对象浏览器”,或仅按Shift + Command +B。然后可以浏览所有可用的类,方法和属性。 在下一节中构造代码非常有帮助。

在开始对宏进行编码之前,我们先向模板添加一个按钮。 此步骤使新手用户可以更轻松地访问您的宏。 他们可以单击按钮来调用宏,而不必深入研究选项卡和菜单。

切换回您在上一步中创建的空白模板表。 单击开发人员返回到选项卡。 重新打开选项卡后,单击“按钮”。 接下来,单击模板上工作表中的某个位置以放置按钮。 出现宏菜单,为宏命名,然后单击“新建”。

Visual Basic窗口将打开; 您会在项目浏览器中看到它列为Module2。 代码窗格的顶部将具有Sub AverageandSumButton(),而在End Sub下方将有几行。 您的代码需要介于这两者之间,因为它是宏的开始和结束。

首先,您需要声明所有变量。 这些在下面的代码块中,但是有关它们的构造方式的说明。 您应该在名称前使用Dim声明所有变量,然后再使用数据类型声明该变量。

Sub AverageandSumButton()Dim RowPlaceHolder作为IntegerDim ColumnPlaceHolder作为IntegerDim StringHolder作为StringDim AllCells作为RangeDim TargetCells作为RangeDim AverageTarget作为RangeDim SumTarget作为RangeNow现在您拥有所有变量,您需要立即使用一些范围变量。 范围是将工作表中的各个部分作为地址保存的对象。 变量“所有单元格”将设置为工作表上所有活动的单元格,包括列和行标签。 您可以通过调用ActiveSheet对象,然后使用UsedRange属性来获取此信息。

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

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

设置AllCells = ActiveSheet.UsedRange设置TargetCells = Range(AllCells.Cells(2,2),AllCells.SpecialCells(xlCellTypeLastCell))第2步:对于每个循环接下来的两节代码对每个初学者编程的绝对基础(第2部分) 初学者编程的绝对基础(第2部分)在我们的初学者绝对编程指南的第2部分中,我将介绍函数,返回值,循环和条件的基础。 在解决此问题之前,请确保您已阅读第1部分,在此我解释了...阅读更多循环。 这些循环遍历一个对象以对该对象的每个子集起作用。 在这种情况下,您要执行两个操作,每行一个,每列一个。 由于它们几乎完全相同,因此其中只有一个。 但两者都在代码块中。 细节实际上是相同的。

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

接下来,您将通过使用For Each来开始循环。 然后,您要为该子集(在本例中为subRow)创建一个变量。 在输入之后,我们设置要解析TargetCells的主对象。 在末尾附加.rows以将循环限制为仅每一行,而不是范围内的每个单元格。

在循环内部,使用ActiveSheet.Cells方法在工作表上设置特定目标。 使用subRow.Row来设置坐标,以获取循环当前所在的行。然后,将ColumnPlaceHolder用作其他坐标。

您可以将其用于所有三个步骤。 首先在括号后附加.value,并将其设置为等于WorksheetFunction.Average(subRow)。 这会将行平均值的公式写入目标单元格。 下一行添加.Style并将其设置为Currency。 此步骤与工作表的其余部分匹配。 在最后一行,添加.Font.Bold并将其设置为True。 (请注意,这是布尔值,因此没有引号。)此行将字体加粗,以使摘要信息在工作表的其余部分中脱颖而出。

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

ColumnPlaceHolder = AllCells.Columns.Count +1对于TargetCells.RowsActiveSheet.Cells(subRow.Row,ColumnPlaceHolder).Value = WorksheetFunction.Average(subRow)ActiveSheet.Cells(subRow.Row,ColumnPlaceHolder).Style =“ Currency” ActiveSheet .Cells(subRow.Row,ColumnPlaceHolder).Font.Bold = TrueNext subRowRowPlaceHolder = AllCells.Rows.Count + 1对于TargetCells.ColumnsActiveSheet.Cells(RowPlaceHolder,subColumn.Column)中的每个子列。值= WorksheetFunction.Sum(subColumn)ActiveSheet。 Cells(RowPlaceHolder,subColumn.Column).Style =“ Currency” ActiveSheet.Cells(RowPlaceHolder,subColumn.Column).Font.Bold =“ True” Next subColumnStep 3:标记您的摘要下一步,标记新行和新列,设置RowPlaceHolder和再次使用ColumnPlaceHolder。首先,使用AllCells.Row获取范围的第一行,然后使用AllCells.Column + 1获取最后一列。然后,您将使用与循环相同的方法将值设置为“平均销售额”。您还将使用相同的.Font.Bold属性来加粗您的新标签。

然后反转它,将占位符设置为第一列和最后一行以添加Total Sales。 您也想对此加粗。

这两个步骤都在下面的代码块中。 这是End Sub指出的宏的结尾。 现在,您应该拥有整个宏,并且能够单击按钮来运行它。 如果您想作弊,可以按顺序将所有这些代码块粘贴到excel工作表中,但是这样做的乐趣何在?

ColumnPlaceHolder = AllCells.Columns.Count + 1RowPlaceHolder = AllCells.RowActiveSheet.Cells(RowPlaceHolder,ColumnPlaceHolder).Value =“平均销售” ActiveSheet.Cells(RowPlaceHolder,ColumnPlaceHolder).Font.Bold = TrueColumnPlaceHolders。All = Count + 1ActiveSheet.Cells(RowPlaceHolder,ColumnPlaceHolder).Value =“总销售” ActiveSheet.Cells(RowPlaceHolder,ColumnPlaceHolder).Font.Bold = TrueEnd SubWhats for Mac上的Excel中的宏?记录的宏非常适合用于可预测的重复 。 即使只是调整所有单元格的大小和粗体显示标题一样简单,它们也可以节省您的时间。

Visual Basic为Mac Excel用户打开了深入了解Office自动化的大门。 传统上,Visual Basic仅在Windows上可用。 它使您的宏能够动态地适应数据,从而使它们更具通用性。 如果您有足够的耐心,这可能是更高级编程的大门。

是否需要更多节省时间的电子表格技巧? 了解如何在Excel中使用条件格式自动突出显示特定数据使用条件格式在Excel电子表格中自动设置数据的格式使用条件格式在Excel电子表格中自动设置数据的格式Excel的条件格式设置功能可让您根据其值在Excel电子表格中设置单个单元格的格式。 我们将向您展示如何将其用于各种日常任务。阅读更多信息以及在Mac上使用数字的条件突出显示如何在Mac上使用数字的条件格式如何在Mac上使用数字的条件格式传统格式使您的电子表格脱颖而出。 这是在Mac上的Numbers中使用条件格式的方法。了解更多。

探索更多有关:Microsoft Excel,Visual Basic编程。

以上是 在Mac上的Excel中使用宏可节省时间并做更多事情 的全部内容, 来源链接: utcz.com/wiki/667362.html

回到顶部