Tag: msgbox

带有VBA的Excel MsgBox用于多个链接的范围

我需要一些有关excel问题的帮助。 这是以下两个问题的组合: 1) Excel – 当单元格值符合特定条件时,popup消息并发出声音警报 2) 如果目标单元格中​​的公式超出特定值,则显示“消息框”popup窗口的VBA代码 在Sheet1中 ,我有一系列的产品和销售数字。 示例: Sheet1 在Sheet2中 ,我有多列sumif()函数。 示例: Sheet2 。 它包含(A:A)中的一列名称和(B:B)&(C:C)中的数据,它们链接到其他工作表中的单元格。 当列B中任何单元格的值超过20或C列超过40时,我会popup一个通知(“列A中的文本已售出> 20)”。 例如 :如果列“B”中的一个单元格值更新为33(即> 20),并且列“A”中的对应单元格值包含文本为“查理”,则Excel表格应该popup消息“Charlie sold是> 20“。 下面的VBA代码完成这个IF如果它是原始数据。 但是,单元格链接到其他工作表的数据时不起作用,如本工作簿的情况。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.column = 2 and target.value > 1 Then MsgBox target.offset(0,-1).text & " sold is > 20" End If End Sub 该替代代码适用于从其他工作表链接的数据,但它仅适用于特定的单元格,而不是整列。 […]

msgBox没有显示成功的结果

我有以下设置复制一个列表并粘贴到工作表(数据)。 我希望它在成功时显示一条消息,告诉我它开始粘贴的是哪一行。 但是,errmsg会显示。 提前致谢 Dim current As String current = ActiveCell.Index MsgBox current & "pasted there" Exit Sub errmsg: MsgBox "failed to copy." End Sub 完整的代码 Sub move() Range("A3:B3").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("K3").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Range("F3:I3").Select Range(Selection, Selection.End(xlDown)).Select Application.CutCopyMode = […]

如果#REF! 然后find错误框macros

我正在尝试完成一个简单的macros,寻找“#REF!” 在工作表中由于用户指定一行并破坏基础公式。 我已经find了: Sheets("Location_Multiple").Select Range("A1:AL10000").Select Selection.Find(What:="#REF!", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate 从我的理解,我需要input一个If参数是真的 MsgBox"Please go back and check…." 我只是不知道该怎么做,如果… 任何指针将非常感激。

VBA – 单元格值= 1时打开一个msgbox

我需要一个非常基本的vbamacros的帮助。 当A6中的值等于1时,msgbox需要出现在工作站中。 我开发了下面的代码,但问题是,当我在电子表格中添加任何其他信息(例如,如果我在B6中写“我爱披萨”),msgbox会再次提示,我需要它提示一次,只是当我设置A6 = 1的值。你能帮我吗? Private Sub Worksheet_Change(ByVal Target As Range) If Range("A6").Value = 1 Then MsgBox "THIS IS A MSGBOX." End If End Sub @edit我忘了一件非常重要的事情,值“1”是用VLOOKUP得到的,所以它不能被用户手动插入,对此我感到抱歉。 我尝试了你们人们回答的代码,它在我手动inputvlue的时候就起作用了,正如我在编辑开始所说的那样,这个值是用VLOOKUP设置的。 还有其他的提示吗?

MsgBox在Excel中的焦点

我在Excel中使用VBA计算大量数据,并在完成时显示MsgBox。 MsgBox实际上显示了计算所需的时间。 问题是用户在计算发生时决定做其他事情。 Excel继续计算,当它完成后,MsgBox会显示,但由于某种原因,Excel不会将焦点放到MsgBox。 Excel图标将在任务栏中闪烁,如果我们单击它,Excel会最大化,但MsgBox位于Excel窗口后面,我们永远不能单击它。 所以唯一的办法就是去taskkill excel.exe …不是很好。 Alt + Pause不起作用,因为代码将仅在当前代码行之后停止,这将在MsgBoxclosures时结束。 我之前试过AppActivate("Microsoft Excel")函数,没有任何成功( 我如何将焦点集中到一个msgbox? )。 由于Excel 2010将文档名称添加到窗口标题中,所以应用程序名称实际上比此长。 任何想法如何能解决这个恼人的问题?

使用vba翻译文本

可能可能是一个罕见的请愿,但这是问题。 我正在适应组织的第三方。 excel是用英语开发的,我的组织里的人讲西class牙语。 我想使用原来的工作表完全相同的代码,我宁愿不要触摸它(虽然我可以做到这一点),所以我想使用一个函数,每次msgbox出现(与英文文本) ,我翻译了msgbox消息,但没有触及原始脚本。 我正在寻找一个掩码,可以每次调用msgbox在原始代码中调用。 我更喜欢不要触摸原始代码,因为第三方开发人员可能会频繁更改它,而且每次修改代码可能会非常烦人。 那可能吗?