excel 如果背景颜色为黑色,则阻止用户访问单元格
excel stop a user accessing a cell if background colour is black
我正在尝试在 excel 2003 年构建一个简单的游戏(迷宫)。我需要一个宏来阻止用户选择具有黑色背景颜色的单元格(使用箭头键)。
我似乎无法找到阻止这种情况发生的方法(无论颜色如何)。
任何提示或帮助都会很棒。
谢谢。
汤姆
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim x As Integer
Dim y As String
Dim z As Integer
Dim answer As Integer
Dim OldRange As Range
x = Range("AL4").Value
y = Range("AL5").Value
z = Range("AL6").Value
accessory = Range("AL7").Value
'ColorIndex 1 is Black
If Target.Cells(1, 1).Interior.ColorIndex = 1 Then
OldRange.Select
Else
Set OldRange = Target
End If
我已经试过了:我很困惑我哪里出错了!
在 ThisWorkbook 中,我在最顶部添加了:
选项显式
私有 OldRange 作为范围
然后我将以下内容添加到我的 Private Sub Worksheet_SelectionChange(ByVal Target As Range) 区域:
If Target.Cells(1, 1).Interior.ColorIndex = 1 Then
OldRange.Select
Else
Set OldRange = Target
End If
我仍然在 OldRange.Select 行收到调试错误。
更新
我太慢了!对不起!
现在工作非常感谢。
谢谢。
汤姆
这里有一个解决方案(在工作表代码块中输入此代码):
Private OldRange As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'ColorIndex 1 is Black
If Target.Cells(1, 1).Interior.ColorIndex = 1 Then
OldRange.Select
Else
Set OldRange = Target
End If
End Sub
我正在尝试在 excel 2003 年构建一个简单的游戏(迷宫)。我需要一个宏来阻止用户选择具有黑色背景颜色的单元格(使用箭头键)。
我似乎无法找到阻止这种情况发生的方法(无论颜色如何)。
任何提示或帮助都会很棒。
谢谢。
汤姆
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim x As Integer
Dim y As String
Dim z As Integer
Dim answer As Integer
Dim OldRange As Range
x = Range("AL4").Value
y = Range("AL5").Value
z = Range("AL6").Value
accessory = Range("AL7").Value
'ColorIndex 1 is Black
If Target.Cells(1, 1).Interior.ColorIndex = 1 Then
OldRange.Select
Else
Set OldRange = Target
End If
我已经试过了:我很困惑我哪里出错了! 在 ThisWorkbook 中,我在最顶部添加了: 选项显式 私有 OldRange 作为范围
然后我将以下内容添加到我的 Private Sub Worksheet_SelectionChange(ByVal Target As Range) 区域:
If Target.Cells(1, 1).Interior.ColorIndex = 1 Then
OldRange.Select
Else
Set OldRange = Target
End If
我仍然在 OldRange.Select 行收到调试错误。
更新 我太慢了!对不起! 现在工作非常感谢。
谢谢。
汤姆
这里有一个解决方案(在工作表代码块中输入此代码):
Private OldRange As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'ColorIndex 1 is Black
If Target.Cells(1, 1).Interior.ColorIndex = 1 Then
OldRange.Select
Else
Set OldRange = Target
End If
End Sub