简体   繁体   English

根据另一个单元格中的输入在一个单元格中分配值

[英]Assign the values in a cell based on the input in another cell

Here is my code: 这是我的代码:

Private Sub Worksheet_Change(ByVal Target As Range)
  If Range("A1").Value = "ORACLE" Then
  Range("B1").Value = "DATABASE"
  ElseIf Range("A1").Value = "UNIX" Then
  Range("B1").Value = "SERVER"
  End If
End Sub

How do I do this for the entire column? 如何针对整个专栏进行此操作?

Try this: 尝试这个:

Private Sub Worksheet_Change()
Dim rng As Range

Range("A1").Select
For Each rng In Range("A:A")
  If rng.Value = "ORACLE" Then
    ActiveCell.Offset(0, 1).Value = "DATABASE"
    ActiveCell.Offset(1, 0).Select
  ElseIf rng.Value = "UNIX" Then
    ActiveCell.Offset(0, 1).Value = "SERVER"
    ActiveCell.Offset(1, 0).Select
  End If
Next rng

End Sub

This does not rely on activecell and since it based on an event in column A this only changes the cell in column B if Column A changes. 这不依赖于活动单元,并且由于它基于列A中的事件,因此仅在列A更改时才更改列B中的单元。

Private Sub Worksheet_Change(ByVal Target As Range)

If Intersect(Target, Range("A:A")) Then

    If Target.value = "ORACLE" Then
        Range("B" & Target.Row).value = "DATABASE"
    ElseIf Target.value = "UNIX" Then
        Range("B" & Target.Row).value = "SERVER"
    End If
End If
End Sub

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM