Questions tagged «macros»

计算机科学中的宏是一种规则或模式,它指定如何根据定义的规则和过程将特定的输入序列映射到特定的输出序列。如果问题与Microsoft Office产品有关,请考虑使用[vba]标记代替此标记。这可以帮助人们更有效地回答,过滤问题。

0
VBA - 将宏指定给表单控件按钮
如果在Sheet21的列U(实际命名为“ROG Registration”)中出现“Self Cancelled”或“Waitlisted”,我在VBA中编写了以下代码以删除完整行。当我在ROG注册选项卡上打开VBA窗口并运行它时,它可以正常工作。 我有一个带宏按钮的单独选项卡,我将此宏指定给表单控件按钮,但是当我单击按钮时没有任何反应。 知道为什么吗?可能是我需要在代码中使用“ROG注册”名称吗?“。首先选择”选项卡,因为它位于与按钮不同的选项卡上? Sub ROG_DeleteRows() Dim r As Integer For r = Sheet21.UsedRange.Rows.Count To 1 Step -1 If Cells(r, "U") = "Self Cancelled" Then Sheet21.Rows(r).EntireRow.Delete ElseIf Cells(r, "U") = "Waitlisted" Then Sheet21.Rows(r).EntireRow.Delete End If Next End Sub

0
在excel中创建一个在我运行VBA代码的阶段暂停的宏
我在excel中创建一个宏。 当我需要运行一些VBA代码时,我进入自动化的特定阶段。 在自动化过程中,我点击Developer并输入我需要输入的内容。 但是,当我停止录制并尝试从头开始运行宏时,它会在打开开发人员选项卡时停止,并且不会完成该过程。 Sub CreatePortfolio()' ' CreatePortfolio Macro ' ' Range("A2:H132").Select ActiveWindow.SmallScroll Down:=-144 Range("D1").Select ActiveWindow.SmallScroll Down:=-6 ActiveCell.FormulaR1C1 = "Blank" Range("H1").Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = 11 .ColorIndex = 11 .TintAndShade = 0 .PatternTintAndShade = 0 End With With Selection .HorizontalAlignment = xlGeneral .VerticalAlignment = xlBottom .WrapText = …

1
宏用于创建包含单元格和文本值的文本文件
我试图在Excel中创建一个宏来创建一个文本文件,其中一些参数在excel单元格上。 输出将是例如: 这个孩子是'细胞(1,1)'老。 他的名字是'cell(1,2)'。 我已经设法创建文件,但我在文本中间添加变量。请关注我写的代码: Sub Generate_KML() Dim strPath As String Dim iFileNumber As Long Dim strHeader As String Dim strData As String strPath = Application.GetSaveAsFilename(FileFilter:= _ "KML File (*.kml), *.kml", Title:="Save Location") iFileNumber = FreeFile() strHeader = ActiveCell.Offset(1, 1) strData = "Test 2" Open strPath For Output As #iFileNumber …

1
Excel:如何链接,跟踪和自动更新不同工作表中的行?
我正在excel工作簿中创建一个销售管道,有一个我想使用的工具,但我似乎无法破解它。 我有多个工作表,第一个是销售总监要查看的摘要,其他是每个销售人员的工作表。每个销售人员都有一个特定的工作表,他在其中添加有关客户端,交易大小,过去操作下一个操作等的信息。每个客户都有自己的行,并且按季度排序。 复杂的方面是摘要表受密码保护,销售人员无法访问。 我希望有一个宏链接和跟踪每行中的信息并将其链接到摘要表,以便在任何单个销售工作表中添加的任何信息在摘要工作表中自动更新。 我尝试在彼此之间链接单元格,但是当销售人员需要在他的工作表中插入一行时(因为销售人员无法访问摘要表),这会成为问题。为了避免这种情况,我想创建一个宏,当使用时在销售人员的工作表中插入一个新行,在摘要表中插入一个新行并链接两个工作表之间的单元格,但是excel不会让我链接宏中的单元格。 你们有没有解决这个问题的方法? 非常感谢您花时间阅读!!


1
到达空行时停止VBA宏
我最近尝试使用宏来简化Excel 2010下的一些任务,因为我正在使用不幸的巨大数据库。 我已经找到了合并重复行和连接唯一数据/注释所需的代码,这要归功于这个挽救生命的线程:如何将多行中的值组合成Excel中的单行? 对于像我这样的初学者来说代码很容易理解(我确实希望并尝试理解我在做什么而不是盲目地复制粘贴)。我遇到的唯一问题是宏似乎没有停在最后一行,并最终填充excel表的其余部分。 获得了所需的结果,如第4行到第6行所示,但从第29行开始...... 但是你可以看到从第29行开始,宏保持“;” 在第10栏。 这是我改编的代码: Sub merge_dupes_and_comments() 'define variables Dim RowNum As Long, LastRow As Long Application.ScreenUpdating = False RowNum = 2 LastRow = Cells.SpecialCells(xlCellTypeLastCell).row Range("A2", Cells(LastRow, 10)).Select For Each row In Selection With Cells 'if OC number matches If Cells(RowNum, 2) = Cells(RowNum + 1, 2) …

1
VBA EXCEL:在选择中循环遍历每个单元格时,查找方法不起作用
我正在尝试创建一个宏,在选择范围后,它将告诉我在样本中找到多少个20英尺或40英尺的容器。 宏基本上查找字符串“1x20”或“1x40”,当找到任何一个时,变量cont20或cont40将增加1。 我有的代码: Sub containercount() Dim count20 As Integer Dim count40 As Integer count20 = 0 count40 = 0 For Each cell In Selection If Not ActiveCell.Find("1x20", LookAt:=xlPart, MatchCase:=False) Is Nothing Then count20 = count20 + 1 End If If Not ActiveCell.Find("1x40", LookAt:=xlPart, MatchCase:=False) Is Nothing Then count40 = count40 …


2
使文本到列范围动态
我想在我的宏中使文本到列范围动态。但是,如果我尝试将myRange放在那里它不起作用。我无法在网络上找到任何信息来使文本到列动态。 原始(录制代码): Sub Macro3() Selection.TextToColumns Destination:=Selection, DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ :=Array(1, 1), DecimalSeparator:=".", ThousandsSeparator:=",", _ TrailingMinusNumbers:=True End sub 编辑后(但无法使其工作): Sub Macro3() Dim myRange As Range Set myRange = Selection Selection.TextToColumns Destination:=myRange, DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo …

1
用于下载所选邮件附件的宏 - 有关下载文件计数的问题
我更改了一些代码,以便将选定的邮件附件添加到我的硬盘中,如下所示: Public Sub SaveAttachments() Dim objOL As Outlook.Application Dim objMsg As Outlook.MailItem 'Object Dim objAttachments As Outlook.Attachments Dim objSelection As Outlook.Selection Dim I As Long Dim lngCount As Long Dim strFile As String Dim strFolderpath As String Dim strDeletedFiles As String Dim Counter As Long strFolderpath = "D:\attachments" If (Dir$(strFolderpath, …

1
优选使用if / when样式条件自动化细胞运动
我想完全自动化清理导出数据的过程。我想要: 将溢出行中的数据移动到其预期列中。我在VB中尝试了以下代码。(这是尝试识别电子邮件中的@符号,并分别将所有电子邮件地址移动到右侧两个位置)。 子QWERTY ()昏暗d 作为范围,- [R 作为范围 设定d = 相交(ActiveSheet 。UsedRange ,范围(“d:d” )) For Each r In D If Left(r.Text, 2) = "@" Then r.Copy r.Offset(0, 1) r.Clear End If Next r End Sub 一旦数据在正确的列中,我需要自动移动到正确的行。我可以很容易地将它们向上移动,但如果一个联系人没有电子邮件地址(例如),那么当电子邮件向上移动时,电子邮件将排在错误的行中。

2
我想录制一个键盘输入,好像人正在打字[关闭]
我正在录制OSX和Linux上的截屏视频,我正试图设置一些方法来加快录制长码代码的输入。 我需要一种方法来获取我生成的脚本或宏,并在录制过程中输入它,以便顺利完美打字。我还需要能够控制速度 - 所以有时打字速度很快,有时会慢下来(以帮助观众看到正在发生的事情)。 我正在考虑生成vim宏,但它们执行得非常快,我无法弄清楚如何控制速度。另一种选择是键盘宏(键盘大师等),但我找不到一个我可以轻松编写脚本/宏(它们似乎都是以GUI为中心)。 或者:有没有办法让我在后期制作(视频编辑)中轻松完成这项工作?我目前的解决方案是实际编辑错误和中断。它可以生成一个非常好的视频,但需要几个小时来编辑几分钟的打字。

1
修复可以运行宏但不执行表单操作的XLSM
我有一个奇怪的情况,某个用户(带有Office 2016的Windows 10,没有第三方保护)可以打开我的XLSM文件并运行其宏(在为该文件启用宏之后),但是宏(各个用户,与每个无关)其他)一旦他们尝试执行某个动作就会卡住。 操作可以是从扩展/折叠数据透视表到刷新连接的任何操作。因此,例如,对于非表单命令,例如some_number = 50或some_value = true,没有错误。但范围(“a1”)。value =“test”可能会触发错误。 同一个文件对我自己和其他用户来说非常好 Weirder仍然,其他非常相似的宏为该用户使用我的其他文件。 但最奇怪的是,有时它确实对该用户有效!然后一秒钟它没有。 知道是什么导致这个以及如何解决它?

1
具有重复功能的自动热键同时击键
我现在知道了 settitlematchmode,3 SetKeyDelay,350 ^ o :: $ stop:= 0 环, { controlsend,,{a 30},ahk_pid 12144 controlsend,,{a 30}{s 30},ahk_pid 12144 controlsend,,{s 30},ahk_pid 12144 controlsend,,{s 30}{d 30},ahk_pid 12144 controlsend,,{d 30},ahk_pid 12144 controlsend,,{d 30}{w 30},ahk_pid 12144 controlsend,,{w 30},ahk_pid 12144 controlsend,,{w 30}{a 30},ahk_pid 12144 controlsend,,{w 30},ahk_pid 12144 controlsend,,{w 30}{d 30},ahk_pid 12144 controlsend,,{d 30},ahk_pid 12144 controlsend,,{d …

1
用户名密码宏或工具[关闭]
我为程序编写扩展。该程序具有一个用户名/密码对话框。没有“记住我的密码”选项。输入此信息的任务非常繁琐,并且中断了我的开发工作流程。 有没有可以自动执行此过程的工具? 理想情况下,我希望该工具启动程序>输入我的用户名和密码>单击“确定”登录。 此功能的子集总比没有好。我有Visual Studio 2010。 该程序是具有很少文档的自定义医疗应用程序。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.