Excel 如果特定单元格中的文本值有条件

Excel 如果特定单元格中的文本值有条件,excel,vba,if-statement,Excel,Vba,If Statement,我有两列D和E,在D列的单元格中,我可以从下拉列表中选择。其中一个选择是NA。我想做的是,如果您从下拉列表中选择值NA,例如,在D5中,在E列中的同一行中的单元格,在这种情况下,E5将具有值NA 我尝试使用IF函数,但问题是,列E中的单元格也从下拉列表中选择。因此,如果我在单元格E中的if函数后更改值,公式将被删除 我们需要的是一个代码,它读取D列中的单元格,对于每个包含文本NA的单元格,将NA放在其旁边E的单元格中。例如,单元格D6具有NA,那么单元格E6必须具有NA 编辑:这是我编写的代码。

我有两列D和E,在D列的单元格中,我可以从下拉列表中选择。其中一个选择是NA。我想做的是,如果您从下拉列表中选择值NA,例如,在D5中,在E列中的同一行中的单元格,在这种情况下,E5将具有值NA

我尝试使用IF函数,但问题是,列E中的单元格也从下拉列表中选择。因此,如果我在单元格E中的if函数后更改值,公式将被删除

我们需要的是一个代码,它读取D列中的单元格,对于每个包含文本NA的单元格,将NA放在其旁边E的单元格中。例如,单元格D6具有NA,那么单元格E6必须具有NA

编辑:这是我编写的代码。我现在要做的是使它适用于列中的所有单元格

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)


       Dim celltxt As String

       celltxt = ActiveSheet.Range("D10").Text

       If InStr(1, celltxt, "NA") Then

          ActiveSheet.Range("E10").Value = "NA"

       End If


  End Sub
我做完了

Dim rango As Range

Dim i As Long

Set rango = Range("D:D")

For Each cell In rango

    If cell.Value = "NA" Then

        cell.Offset(0, 1).Value = "NA"

    End If

Next

您需要澄清并提供您尝试过的代码。此外,当您从单元格复制值并使用公式粘贴到单元格中时,您会覆盖公式。我添加了我的代码。