Excel 当同一行中的单元格更改时,需要帮助更改单元格值吗

Excel 当同一行中的单元格更改时,需要帮助更改单元格值吗,excel,vba,excel-formula,Excel,Vba,Excel Formula,每当同一行上的特定单元格更改值时,我需要帮助自动更改包含特定值的单元格 例如,每当B列中的一个单元格在该特定行上更改=将TRUE更改为FALSE时 我的VBA知识几乎不存在,我当然是个初学者 我很确定我要找的是工作表。更改,我一直在试用我在这里找到的一些代码,例如: Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Target.Parent.Range("B:B")) I

每当同一行上的特定单元格更改值时,我需要帮助自动更改包含特定值的单元格

例如,每当B列中的一个单元格在该特定行上更改=将TRUE更改为FALSE时




我的VBA知识几乎不存在,我当然是个初学者

我很确定我要找的是工作表。更改,我一直在试用我在这里找到的一些代码,例如:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Target.Parent.Range("B:B")) Is Nothing Then Exit Sub
For Each x In Target
    Cells(x.Row, 3).Value = "False"
Next 
End Sub
但我知道这并不能替换单元格所在列中的特定值

我一直在尝试一些愚蠢的事情,比如:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Target.Parent.Range("B:B")) Is Nothing Then Exit Sub
For Each x In Target
If Cells(x.Row, x.Column).Value = "TRUE" Then Value = "FALSE"
Next
End Sub
但当然它不起作用


你能给我指出我应该研究的方向吗?

用下面的代码替换工作表上的
change
事件子项。我想这应该能奏效

Private Sub Worksheet_Change(ByVal Target As Range)
    
    Dim oRng As Range
    Dim oCell As Range
    
    ' Check if change was in column B
    If Intersect(Target, Target.Parent.Range("B:B")) Is Nothing Then Exit Sub
    
    ' Turn off events so that when we make a change on the sheet, this event is not triggered again
    Application.EnableEvents = False
    
    ' Set the range to include all column in Target row
    Set oRng = Target.Parent.Range("C" & Target.Row & ":" & Target.Parent.Cells(Target.Row, Target.Parent.UsedRange.Columns.Count).Address)
    
    ' Loop through all cells to change the value
    For Each oCell In oRng
        If Trim(LCase(oCell.Value)) = "true" Then
            oCell.Value = "FALSE"
        End If
    Next
    
    ' Enable events again
    Application.EnableEvents = True
    
End Sub

嗨,欢迎来到苏。快速的回答是,这是可以做到的。您需要为我们做的是首先尝试旋转您的查询。如果这不起作用,在这里张贴你迄今为止尝试过的东西。然后我们可以指导你如何实现你的目标更新帖子那么你真正想做什么呢?i、 e.如果单元格中的值更改为“是”,是否希望将行中的所有“真”更改为“假”。假设B8改变了值,那么第8行的所有TRUE都变为FALSE。