关于Excel的VBA的宏或按钮代码

栏目:资讯发布:2023-11-20浏览:3收藏

关于Excel的VBA的宏或按钮代码,第1张

Sub 按钮1_Click()   '顺便精简了一下

Dim c As Integer, d As Integer, a As Integer, b As Integer, i As Integer, y As Integer

Static x as Integer

Dim rg As Range

x = x + 1       '增加一个静态变量,静态变量会保持原来的值,每点击一次自增1

y = x + 204     '局部变量y从205开始,每点击一次+1

For i = 2 To y

   c = Sheets("sheet1")Range("F" & i)Value

   d = Sheets("sheet1")Range("G" & i)Value

   a = c Mod 2

   b = d Mod 2

   Set rg=Sheets("sheet1")Range("H" & i)

   If a And b Then

       rgValue = "单合单跨"

       rgFontColor = RGB(0, 0, 139)

   ElseIf a = 0 And b = 0 Then

       rgValue = "双合双跨"

       rgFontColor = RGB(139, 69, 0)

   ElseIf a And b = 0 Then

       rgValue = "单合双跨"

       rgFontColor = RGB(80, 52, 45)

   Else

       rgValue = "双合单跨"

       rgFontColor = RGB(110, 123, 139)

   End If

Next i

End Sub

方法/步骤

当打开一个带有宏代码的Excel表格时,在表格顶部会出现提示“宏已被禁用”。如果对文件内容了解,可以单击旁边显示的按钮启用内容可以快速启用表格中的宏代码。启用后,上面的**警告提示会消失。

如果不想立即启用,可以单击文字“宏已被禁用”,进入启用宏的更多设置,如下图。

在启用宏设置中,有两项选择启用所有宏和高级选项。在高级选项中也可以选择默认推荐或者全部启用。因为宏涉及到访问的安全,所以要根据自己情况选择设置。

对宏进行设置还可以点击Excel表格上方菜单文件下的选项,在选项窗口中,点击左侧的信任中心命令,然后在右侧显示内容中单击信任中心设置按钮。

在弹出的窗口左侧点击宏设置命令选项,右侧可以进行四种设置类型,从安全方面考虑,建议尽量不选用最后的全部启用项。

通过上面步骤的设置,可以在Excel工作表中启用宏代码来提高工作效率。但是如果想对宏进行编辑和修改,应该怎么打开宏 的编辑界面呢?

在Excel中,如果想切换调用工作表中不同的宏,可以按组合键Alt+F8,如图。可以在弹出的窗口列表中选择切换宏,然后选择运行或单步执行。

7

如果想编辑宏代码,可以按快捷键Alt+F11瞬间打开VBA编辑窗口,再次执行快捷键回到Excel工作表窗口,大大的提高了工作效率。

创建Excel宏的10个专业技巧Excel宏通过自动执行常见的重复性任务来节省您的时间和头痛,而且您不必是程序员,也不必知道VisualBasic应用程序(VBA)即可编写代码。使用Excel,就像记录击键一样简单。使用这些技巧可以使宏录制变得轻松。1宏名称宏名称要简短(但要描述性),特别是如果您记录了很多宏,则可以在“宏对话框”中轻松地识别它们。该系统还为“描述”提供了一个字段,尽管并非所有人都使用它。宏名称必须以字母开头,并且不能包含空格,符号或标点符号。在第一个字母之后,可以使用更多字母,数字或下划线字符,但最大长度为80个字符。2使用相对(非绝对)单元格地址绝对是指将精确的单元位置记录到宏中-硬编码的单元地址,例如A6或B12。如果发生任何更改,添加/删除新数据或列表变长,则绝对引用会限制宏的功能。相对表示宏记录的击键相对于起始单元格的位置。Excel中的默认值为“绝对”,但您可以在“停止记录”工具栏上将其更改为“相对”:单击开发人员>记录宏。在“记录宏”对话框中,输入宏名称和快捷键(如果适用)。从选项的“存储宏”下拉列表中选择“个人宏工作簿”,输入描述(如果需要),然后单击“确定”。对话框消失,“录制宏”按钮变为“停止录制”按钮。单击下一步“相对参考”按钮,该按钮将变为深绿色,表明它处于活动状态。输入击键,公式等,然后单击“停止记录”按钮并运行宏。3总是在家开始始终将光标和数据从起始位置(单元格A1)开始。如果您将宏保存在“个人宏工作簿”中(推荐),则可以在具有相似数据的其他工作表上重复使用此宏。无论您何时开始录制宏,无论光标位于何处,即使它已经位于单元格A1中,您的第一个宏按键也都必须为Ctrl+Home,以确保您从Home开始。示例:想象一下,每个月您都会收到来自所有分支机构的数十个电子表格,您必须首先合并这些电子表格,然后进行组织并计算以产生一份月度报告。您可以编写一个宏来执行所有这些功能,包括打开所有工作表并将它们合并到一个合并的电子表格中。对于本练习,我将使用合并后的数据处理最终的电子表格。在Excel中创建一个新的工作簿(例如,AprilReport)。光标会自动位于原始位置(A1)。不要移动它以容纳标题,字段标题或其他任何内容。它必须位于A1中。打开第一个分支工作簿,然后将整个电子表格的数据(减去列标题)复制到AprilReport电子表格中的单元格A1中。数据开始于A1,结束于G55。打开第二个分支工作簿,然后将整个电子表格的数据(减去列标题)复制到“四月报表”电子表格中的单元格A56中。继续此过程,直到将所有工作簿中的数据复制到“AprilReport”电子表格中。如果其他电子表格的数据包含公式,请选择“粘贴”>“特殊”>“值”作为“粘贴”选项。不要复制公式或格式。此时,不必担心工作表标题,列标题或格式(例如列宽,字体等)。只需复制数据并运行宏即可。计算完数据后,可以使用“插入行”添加列标题,电子表格标题和其他信息。然后,您可以设置列宽的格式,更改字体,添加属性以及根据需要放置边框或框。(您还可以创建其他宏以执行格式化任务。)4始终使用方向键进行导航使用方向键(End-Down,Ctrl+Up等)定位光标,以便您可以根据需要在电子表格中添加,更改或删除数据。如果您对单元格地址进行硬编码,则对电子表格进行的任何更改或编辑都会使宏功能无效。例如,如果您对宏进行编码以将A1到A20相加,然后添加更多行(例如A1到A35),则该公式将不包括其他单元格,并且总和将是错误的。使用鼠标导航更加复杂,并且不那么可靠。对于宏,只能使用鼠标来选择或单击菜单选项。5使宏小而具体保持宏的大小和特定于手头的任务。宏越大,运行速度越慢,尤其是在大型电子表格中需要执行许多功能或计算大量公式时,尤其如此。另外,如果将所有任务组合到一个长宏中而失败了,那么定位失败点将花费很多时间。如果分别运行每个宏,则可以快速查看结果并验证准确性。在四月报告示例中,您不会将计算宏与格式宏结合在一起。您将使用一个宏将所有分支工作簿组合成一个最终的电子表格,使用第二个宏来计算数据,使用第三个宏来格式化电子表格,使用第四个宏来创建图表,并可能使用第五个宏来打印。如果宏失败,则可以通过单步执行一次来对其进行故障排除。这就像慢动作,只有您每次使用F8键控制下一次事件发生时,都可以控制。单击开发人员>宏,从列表中选择您的宏,然后单击单步执行按钮。收缩“代码”窗口并将其放置在屏幕的右下方,以便您可以在其后面看到电子表格。每次您希望宏继续进行下一步时,请按F8键。宏在到达错误时停止。然后,您可以修复错误或记录新的宏。6预先输入静态数据如果您的电子表格包含静态数据(例如公司名称和位置),则应在编写宏之前预先输入该信息,因为这些静态信息很少(如果有的话)会发生变化。通常,其他字段(例如产品ID号,产品价格或产品说明)也将包含静态数据。使用宏执行重复性任务,例如格式化单元格和/或图表,创建表,排序,输入公式,管理范围或定义数据透视表过滤器。7保存电子表格在Excel中创建宏后,该文件将成为具有xlsm扩展名的启用宏的工作簿。如果您尝试将文件另存为常规电子表格(xlsx),Excel将显示一个警告对话框,提示“以下功能无法保存在无宏的工作簿中”,然后显示这些功能的列表。单击“否”按钮,然后再次选择“另存为”,然后在“另存为类型”下拉对话框中,从列表中选择“启用Excel宏的工作簿(xlsm)”。单击保存按钮。8将您的宏添加到快速访问工具栏上的自定义按钮为了方便起见,您可以在快速访问工具栏上为宏添加按钮。因为可用的快捷键太少,所以这是一个有用的解决方案。1选择文件>选项>快速访问工具栏。2在“选择命令来源”字段框中,单击小箭头,然后从列表中选择“宏”。3在下面的对话框中,Excel显示该工作簿中所有宏的列表。4选择SumTotals宏,然后单击“添加”按钮将宏移到“自定义快速访问工具栏”对话框。5突出显示SumTotals宏,单击此对话框面板底部的“修改”按钮。6浏览“修改按钮”对话框窗口,然后选择最能标识新宏的图标符号(我们选择了计算器)。7接下来,在“显示名称”框中输入宏的描述性名称。8最后,单击确定按钮两次。9然后签出快速访问工具栏上的新按钮。单击此按钮一次以运行您的宏。9将一个宏按钮添加到功能区菜单上的自定义组1选择文件>选项>自定义功能区。2首先,确保在“自定义功能区”下的“主选项卡”面板中选中了“开发人员”框。3为您的自定义宏选择一个选项卡,或在“开发人员”选项卡下选择/突出显示“加载项”组,然后单击“新建组”按钮。4在已经选择(突出显示)新组的情况下,单击重命名按钮,这将打开“重命名”对话框。5选择显示名称字段框:输入该组的名称,例如自定义宏。6接下来,浏览“符号”对话框窗口,然后选择一个最能识别该宏的图标(我们选择了沙漏),然后单击“确定”。7在“选择命令来源”字段框中,单击小箭头,然后从列表中选择“宏”。8在下面的对话框中,Excel显示此工作簿中所有宏的列表。9选择SumTotals宏,然后单击“添加”按钮将宏移至名为“自定义宏”的新组。10如果需要,请再次单击“重命名”按钮,然后从“符号”对话框窗口中选择一个图标(我们再次选择了计算器,与“快速访问工具栏”上的按钮相同。11单击两次“确定”关闭“自定义”屏幕。10宏安全警告当您打开一个包含宏的工作簿时,您会收到以下消息:“安全警告:宏已被禁用”,然后是显示“启用内容”的按钮。如果要使用宏,则必须单击此按钮。但是真是麻烦!您可以从消息栏或信任中心轻松禁用此重复性任务。信任中心宏设置1选择文件>选项>信任中心。2单击“信任中心设置”按钮。3从菜单中选择“宏设置”。4选中启用所有宏,然后单击确定。是的,Excel表示不建议这样做,因为可能会运行危险代码。的确如此,如果您是从Internet,其他人的系统下载宏或在网络空间中的某个地方感染了宏病毒。但是,如果仅运行自己的宏并保护系统免受恶意软件的侵害,则不太可能运行危险代码。如果此选项使您感到不舒服,请选择其他三个选项之一,然后在宏工作簿打开时继续单击“启用内容”按钮。注意:信任中心中的“更改宏”设置仅影响当前程序。

方法有多种,如下:

1快捷键Alt+F11

2开发工具----visual

Basic

(2007版和2010版查看方法),注:开发工具需要先从"选项"设置中勾选开发具,才能从菜单栏中看到

3设置快捷方式,,"选项",接着:"快速访问工具栏",添加"visual

Basic"快捷方式,便可快速点击快捷方式访问

注:如果宏工程有加密,则需要输入密码方可查看!

如有需要可以帮你破解密码!

以下是将 WPS Excel 文件转换为 Excel 格式的宏代码:

Sub SaveAsExcel()

Dim TargetFile As String

Dim objWkb As Workbook

Dim objApp As Object

Set objWkb = ActiveWorkbook

Set objApp = CreateObject("ExcelApplication")

If objWkb Is Nothing Or objApp Is Nothing Then

MsgBox "程序出错!"

Exit Sub

End If

With objApp

Visible = False

WorkbooksAdd

Set objWkb = WorkbooksOpen(objWkbFullName)

TargetFile = Replace(objWkbFullName, "et", "xlsx")

ApplicationDisplayAlerts = False

objWkbSaveAs TargetFile, FileFormat:=xlOpenXMLWorkbook

Quit

End With

MsgBox "保存成功!"

End Sub

使用方法:

1打开一个 WPS Excel 文件。

2按下 ALT + F11 进入 VBA 界面。

3在左侧 Project 窗口中找到当前文件所在的 VBAProject。

4右键单击 VBAProject,选择 Insert -> Module,即可打开一个新的 VBA 代码模块。

5将以上代码复制到新的模块中,并保存。

6返回 WPS Excel 界面,按下 Alt + F8 快捷键调出宏对话框,选择 "SaveAsExcel" 宏执行即可。

请注意,在执行宏代码前最好先备份一份原始文件,以防不测。

工具:office excel

步骤:

1、打开office excel,执行菜单操作“工具”→“宏”→“宏”。

2、创建一个原来就没有的宏。输入宏的名字,点击“创建”。

3、输入自己的宏代码即可。

4、关闭VBA窗口,执行菜单操作“工具”→“宏”→“宏”,弹出如下图对话框。

5、点击“选项”即可看到。在操作Excel的时候,按下相应的组合键,该宏的代码马上就运行,效果立马就出来了。

Sub 按钮1_Click()

shuru = Sheets("表2")Range("A1")

If shuru = "" Then Exit Sub

For i = 1 To Sheets("表1")Range("A65536")End(xlUp)Row

If shuru = Sheets("表1")Range("A" & i) Then

Sheets("表1")Range("D" & i) = "完成"

Exit For

End If

Next

End Sub

关于Excel的VBA的宏或按钮代码

Sub 按钮1_Click()   '顺便精简了一下Dim c As Integer, d As Integer, a As Integer, b As Integer, i As Integer, y...
点击下载
热门文章
    确认删除?
    回到顶部