vba 无效字符的问题,高手帮我解决!

2024-12-12 18:47:29
推荐回答(2个)
回答1:

双引号的问题
这样就没事了

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If MsgBox("您确定要关闭窗口吗?若点击确定您将关闭窗口并保存文件,关闭后您将无法对已经有内容的单元格进行再次编辑或修改,请仔细核对录入的内容再执行关闭,您要继续吗?", vbYesNo) <> vbNo Then
Dim iCells As Range
With Sheet1
.Unprotect iMiMa
For Each iCells In .UsedRange.Cells
If iCells.Formula <> "" Then
iCells.MergeArea.Locked = True
Else
If Not iCells.MergeCells Then iCells.MergeArea.Locked = False
End If
Next
.Protect iMiMa
End With
Else: Exit Sub
End If
End Sub

回答2:

这段代码看着好熟悉啊,是不是我写的?

IMiMa在模块中定义的语句,密码值你可以随便设:
Public Const iMiMa = "888888"

MsgBox(“您确定要关闭窗口吗?若点击确定您将关闭窗口并保存文件,关闭后您将无法对已经有内容的单元格进行再次编辑或修改,请仔细核对录入的内容再执行关闭,您要继续吗?”,vbYesNo)
这句中的中文提示两边,使用英文的双引号括住:
If MsgBox("您确定要关闭窗口吗?若点击确定您将关闭窗口并保存文件,关闭后您将无法对已经有内容的单元格进行再次编辑或修改,请仔细核对录入的内容再执行关闭,您要继续吗?", vbYesNo) <> vbNo Then