【发布时间】:2014-07-25 17:27:18
【问题描述】:
我有一个启用宏的电子表格 (Excel 2010),它可以正常工作,除非您通过 Internet 将其发送给某人。如果发送它,收件人必须在受保护的视图中“启用编辑”,然后它会引发错误。
“运行时错误 5”
所以我的代码很简单,我正在为世界杯制作一个办公室支架。我要做的就是让用户在比赛中单击一个国家/地区名称,然后将该名称填充到下一个单元格中。它有效,除非像我说的那样,我通过电子邮件发送。
这是我的代码。有谁知道我可以通过什么方式禁用受保护的视图?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim r, c, n As Integer
If InRange(ActiveCell, Range("B2:B37")) Or InRange(ActiveCell, Range("F2:F37")) _
Or InRange(ActiveCell, Range("J2:J37")) Or InRange(ActiveCell, Range("N2:N37")) _
Or InRange(ActiveCell, Range("R2:R37")) Or InRange(ActiveCell, Range("V2:V37")) Then
r = ActiveCell.Row
c = ActiveCell.Column
If r Mod 2 = 1 Then
Cells(r - 1, c + 1).Value = Cells(r, c).Value
Else
Cells(r, c + 1).Value = Cells(r, c).Value
End If
End If
End Sub
然后是我的函数:
Private Function InRange(range1 As Range, range2 As Range) As Boolean
Set intersectrange = Application.Intersect(range1, range2)
InRange = Not intersectrange Is Nothing
Set intersectrange = Nothing
End Function
【问题讨论】: