带有Msgbox的单元格组中的VBA Excel更改值无效
下午好 我正在尝试更改与Msgbox合并的单元格组中的值。不幸的是,它根本不起作用 我的代码如下所示:带有Msgbox的单元格组中的VBA Excel更改值无效,excel,vba,Excel,Vba,下午好 我正在尝试更改与Msgbox合并的单元格组中的值。不幸的是,它根本不起作用 我的代码如下所示: Sub Nocivils() ans = MsgBox("Do you want to remove the civils description?", vbQuestion + vbYesNo) If ans = Yes Then Range("H24:Q32").Select ActiveCell.FormulaR1C1 = "N/A" Range("H24:Q32"
Sub Nocivils()
ans = MsgBox("Do you want to remove the civils description?", vbQuestion + vbYesNo)
If ans = Yes Then
Range("H24:Q32").Select
ActiveCell.FormulaR1C1 = "N/A"
Range("H24:Q32").Select
End If
End Sub
我以前试过:
Sub Nocivils()
ans = MsgBox("Do you want to remove the civils description?", vbQuestion + vbYesNo)
If ans = Yes Then
Activesheet.Range("H24:Q32").Select
Range("H24:Q32").Value = "N/A
End If
End Sub
还是没有结果,
谁能澄清一下我做错了什么
谢谢除了合并的单元格是邪恶的之外,您可能首先要更改: 如果ans=Yes,则进入>>如果ans=vbYes,则 在模块顶部使用Option Explicit将有助于捕获此未初始化的未声明变量。接下来,看一看关于如何避免使用Select的帖子。可以直接赋值。请注意,合并区域的左上角单元格保存您的值,您可以使用@BigBen RangeH24.value=N/a演示的值分配直接更改该值,但至少不要忘记明确说明您的工作表 MS提供的一些有关功能的文档。替换:
If ans = Yes Then
与:
Yes是一个既没有调暗也没有初始化的变量。RangeH24.Value=N/a.ans=Yes。。。。你没有一个变量说是。如果单击“是”,则返回值为6。我想这是你首先出错的地方,除了合并的单元格本身是邪恶的。^你真的需要默认打开OptionExplicit。
If ans = 6 Then