Tag: msgbox

MsgBox(ActiveWorkbook) – “对象不支持此属性或方法”

美好的一天。 这可能很简单,但我只想知道。 在我的表格的第一个子表格中,我在代码的最开始部分放置了以下行: MsgBox (ActiveWorkbook) 这样的行通常会提示工作簿处于活动状态(如电话所示)。 当放置在项目的其他部分,当然有效,但不在这里。 相反,这个错误出现: Run-time error '438': Object doesn't support this property or method 所以,我只想对这个问题有更多的了解。 谢谢。 PS。 我将这行代码放在一个简单的button_Click()。 再次感谢。

如果单元格包含值,则用显示消息框的macros

我想做一个macros。 我的testing单元在另一张纸上。 工作表 – (数据)macros如果单元格中包含值12,则检查一个范围("D2:D10") ,如果是,则显示一个消息框"Go to add to system"并且此单元格中的macrosfind的值将设置为0。 我有这个代码,但它不适用于我我不知道为什么。 你可以帮我吗? Private Sub check(ByVal Target As Range) For Each c In Worksheet("data").Range("D2:D10") If Range("D2:D10") = 12 Then MsgBox "Go to add to system" Range ("D2:D10").value = 0 End If Next c End Sub

带有用户inputvariables的MsgBox

我正在Excel VBA中编写一个脚本,该脚本根据用户input的标准在国家数据库中运行search。 search从用户UserForm用尽了三个search字段的用户search。 除了“国家”之外,用户还可以通过提及“信息类别”和“感兴趣的信息子类别”缩小search范围,所有这些字段都是链接到列表的ComboBox 。 类别和子类别的一些例子是“地理”,“经济指标”,“媒体”,“人口统计”等等。 根据用户提供的标准,脚本将返回search结果 – 如果与数据库有任何匹配 – 或者MsgBox通知search未find匹配项。 我想知道MsgBox提供的文本是固定的还是可以依赖于用户input的variables。 为了说明一下,我们举个例子,一个正在寻找美国信息的用户,只用这个标准来进行search。 该数据库包含有关美国的信息,并返回所有可用的信息。 尽pipe所有的数据,用户特别想要在美国有关媒体的信息,并重复search这两个标准。 但是,数据库没有具体的信息在美国和媒体。 在这种情况下,脚本返回一个MsgBox ,根据我目前的代码 – 哪个工作正常 – 只是说“数据库没有匹配这个search的信息”。 我的问题是: MsgBox是否可以返回一个依赖于用户search的消息,例如,返回类似“没有关于美国媒体的信息”的东西? 非常感谢您的帮助。 这是运行search的代码: country = Sheets("Results").Range("D5").Value Category = Sheets("Results").Range("D6").Value Subcategory = Sheets("Results").Range("D7").Value finalrow = Sheets("Database").Range("A200000").End(xlUp).Row For i = 2 To finalrow 'If the country field is left empty If country = "" […]

Excel VBA MsgBox自动回答是定时器后

我想安排一个任务,打开一个Excel工作簿,运行一个脚本,并在指定的时间每天(过夜)closures工作簿。 我已经安排在任务计划程序中的任务,并且我知道我可以将代码设置为在打开工作簿时自动运行,但是我不希望代码在运行每次打开工作簿时运行。 有没有办法在代码的开头插入一个msgbox,以便如果在60秒内没有msgbox的响应,它会自动运行代码。 这是我所设想的,但不知道如何格式化它的“案例超时”部分: Sub Auto_Run() MsgBox "Would you like to run reports now?", vbYesNo Case vbYes 'Insert code here Case Timeout 'paste the same code as for vbYes Case vbNo End Sub

Excel VBA:如何停止程序并返回到代码中的某个步骤,“绕过MsgBox的模态限制”

我有一个用户界面,用户input一些信息。 然后他们按下一个button来生成报告。 但是用户不能在生成报告时打开某些文件。 如果用户打开一个文件,我想要popup一个错误消息通知他们。 然后,我想让用户修复问题(closures文件),而不必重新启动程序,因为他们已经input了信息。 我有MsgBoxpopup: Do While IsFileOpen(wfileName) MsgBox "Please close the Weights Machine Data Excel File '" & getFileName(wfileName) & "' to proceed", vbInformation, "Error" Loop 问题是一旦错误消息发生,用户不能做任何事情。 我知道MsgBox是模式,但有没有办法解决这个问题。 如果不是,我希望用户返回到按下generateReportbutton之前的点,所以他们不必重新键入他们input的任何信息。 我该如何解决这个问题?

消息框指单元格内容

我不能得到一个msgbox的语法正确。 我想要这个盒子说: 你已经指出“雇员的名字”(工作表的一个单元格的范围引用)已经工作了“小时”(对工作表单元格的范围引用)做“工作”(对工作表单元格的范围引用) 这个信息是否正确? 这是我的(稍微缩短): Public confirmation_yes_no() Dim yesornoanswertomessagebox As String Dim questiontomessagebox As String questiontomessagebox = "You have indicated that" & worksheets("dept 1 input").range("g12"),"worked at" & worksheets("dept 1 input").range("g16"), "for" & worksheets("dept 1 input").range("g16"), vbinformation, "Are you sure that this data is correct?" yesornoanswertomessagebox = MsgBox(questiontomessagebox, vbYesNo, "FlightPlan for Profits PRO") If yesornoanswertomessagebox = […]

制作时间轴/将标签文本链接到MsgBox

我正在Excel中创build一个时间表。 对于每个date,我可能会发生一个或多个事件。 在数据点上方显示每个事件的全部文本将被挤满。 每个数据点上面都有简短的描述。 我想单击标签文本或数据点,并出现一个消息框,其中包含与该事件相关的信息。 我已经有一个时间线模板,我已经设置了值。 我不想在每个事件后手动创build透明命令button。 有没有办法让VBA自动在每个数据点或数据标签背后边框或创build一个形状,并让它成为一个显示消息框的button? 更好的是,有没有比我一直在想这个过程更简单的方法呢? 非常感谢! 贾克森

Msgbox将行数复制到哪张表中

在这里有许多有帮助的人的帮助下,我已经到了代码完成我所需要的事情的地步! 我真的很苦恼MsgBox在最后显示有多less行已被复制到每张工作表。 如果在同一个MsgBox有全局工作表的任何不匹配,我也想要显示它。 如果没有find不匹配的部分,则可以省略该部分。 下面是代码,我已经search工作表column Q的值,并findUserForm上的ComboBox2的匹配。 这告诉哪些表格行需要被复制,并且如果需要新的表格,那么也要命名它以及一些其他需要的信息。 Private Sub CommandButton1_Click() Dim i As Long, j As Long, k As Long, strWS As String, rngCPY As Range Dim noFind As Variant: noFind = UserForm2.ComboBox2.List '<~~~ get missed items With Application: .ScreenUpdating = False: .EnableEvents = False: .CutCopyMode = False: End With If Range("L9") = "" Then: […]

Msgbox有两个不同的标准

我有一个Excel表,列A,B,C,D。 C&D编号一直在变化(他们有不同的标准),因为它是通过实时提取的库存数据进行计算的。 当C&D匹配我的目标值时,我需要消息框popup,并显示列A中的行情,列B中的名称以及C / D中的数字。 有了帮助,我知道只有C列的代码: Private Sub Worksheet_Change(ByVal Target As Range) If Target.column = 3 And Target.value >= -4 And Target.value <= 4 Then Call MsgBoxMacro(Target.value, Target.column, Target.row) End If End Sub Sub MsgBoxMacro(value, column, row) MsgBox "Ticker: " & Cells(row, column – 2) & vbNewLine & "Stock Name: " & Cells(row, column – […]

在一个MsgBox VBA中显示所有数组元素值

请忍受我的代码。 (我不是一个好的编码器,不熟悉所有的VBA语法。) 我正在为我们所有的家庭书籍创build一个数据库。 我没有使用ACCESS或SQL,只是简单地将所有的UserForminput数据logging到一个Excel工作表中。 在我的用户窗体中,所有具有如下类别的数据:作者,stream派,出版者,书籍在内的位置等,都是通过ComboBoxinput的。 每个ComboBox的初始RowSource是Excel表中的一个范围。 在这个范围内,我已经为每个类别input了一些项目。 因此,在执行macros时,单击每个combobox的下拉箭头时,将显示列表项。 下面的代码中“Private Sub CmdEditList_Click()”的function是首先更新每个类别中的项目列表,如果在现有列表中没有find每个ComboBox中的数据的话。 其次,更新每个ComboBox的RowSource。 下面的MsgBox代码行的目的,我有一个问题,是通知用户哪些类别有一个项目添加到它的列表。 MsgBox "The following Categories were updated:" & vbNewLine & msg` 但是,例如,更新3个类别(作者,发布者和系列)的情况下,不显示作者和发布者,而是在2个换行符之后仅显示“系列”。 问题的原因是什么? 解决办法是什么? Private Sub CmdEditList_Click() Dim NextListRow As Long Dim ComboArr() Dim RangeArr() Dim MsgBoxArr() Dim CategoryArr() Dim i As Integer Dim UpdateItemCnt As Integer Dim mbi As Integer Const LASTINDEX […]