我有一张可由客户输入的工作表。例如,
列c值应来自B列 - A列。每当用户在A和B列中输入值时,它应自动反映C列。
使用VBA代码。
感谢。
答案 0 :(得分:0)
当用户对A列和B列进行输入时,您可能会询问如何取消保护并重新保护工作表。假设用户在" Sheet1&#34上输入值,您可以这样做;:
Option Explicit
Private Sub Worksheet_Change(ByVal target As Range)
If Not Intersect(target, Me.Range("A:B")) Is Nothing Then
Application.EnableEvents = False
UnprotectSheet1
Dim row As Integer
row = target.row
Cells(row, 3) = Cells(row, 2) - Cells(row, 1)
ProtectSheet1
Application.EnableEvents = True
End If
End Sub
Public Sub UnprotectSheet1()
Worksheets("Sheet1").Unprotect Password:="password"
End Sub
Public Sub ProtectSheet1()
With ThisWorkbook.Worksheets("Sheet1")
.Protect Password:="password"
.EnableSelection = xlUnlockedCells
End With
End Sub
此代码必须放在" Sheet1"
的代码部分