Select Case e.Col.name
Case "缺陷代号","缺陷数量"
If user.name <> "开发者" AndAlso user.name <> "行政"
e.Cancel = True
End If
End Select
If e.Col.Name <> "会计核对" AndAlso e.Col.Name <> "录入员核对" AndAlso e.Col.Name <> "准备删除" AndAlso e.Col.Name <> "缺陷代号" AndAlso e.Col.Name <> "缺陷数量" Then
If e.Row("录入员核对") = True Then '如果此列已经核对了,则禁止修改会计核对列和录入员核对列之外的列
e.Cancel = True
End If
End If
If e.Col.Name <> "批号" AndAlso e.Col.Name <> "录入员核对" AndAlso e.Col.Name <> "会计核对" AndAlso e.Col.Name <> "准备删除" AndAlso e.Col.Name <> "缺陷代号" AndAlso e.Col.Name <> "缺陷数量" Then
If e.Row("会计核对") = True Then '如果此列已经核对了,则禁止修改批号和录入员核对和会计核对列之外的列
e.Cancel = True
End If
End If
上述prepareedit代码的目的是:只允许“开发者”和“行政”两组用户对“缺陷代号”和“缺陷数量”进行编辑。但是实际执行结果是,有时候某些数据行不允许编辑,有时候全部数据行都允许编辑。所以,不知道什么原因导致的,我感觉是不是电脑内存不够导致的,还是其他原因?