Excel 基于另一个单元格自动向单元格添加值
我想基于另一个使用VBA的单元格向单元格添加值,但我不确定如何添加。我已经在网上搜索过了,但什么也找不到 我有一个表格,在C列,如果任何单元格包含文本“MAM”(因为它可能有MAM-565),则将值从单元格a更改为“错误”,但如果它包含“NAC”,则将值更改为“正确”。它应该与找到的文本位于同一行 另外,我想在D中的每个单元格被填充时,自动将日期添加到单元格E中。 这是我已有的代码:Excel 基于另一个单元格自动向单元格添加值,excel,vba,Excel,Vba,我想基于另一个使用VBA的单元格向单元格添加值,但我不确定如何添加。我已经在网上搜索过了,但什么也找不到 我有一个表格,在C列,如果任何单元格包含文本“MAM”(因为它可能有MAM-565),则将值从单元格a更改为“错误”,但如果它包含“NAC”,则将值更改为“正确”。它应该与找到的文本位于同一行 另外,我想在D中的每个单元格被填充时,自动将日期添加到单元格E中。 这是我已有的代码: Private Sub Worksheet_Change(ByVal Target As Range) 'Ad
Private Sub Worksheet_Change(ByVal Target As Range)
'Add Issue Type'
Dim Code As Range
Set Code = Range("C2:C100000")
For Each Cell In Code
If InStr(1, Cell, "NAC") Then
Range("A2:A10000").Value = "Correct"
ElseIf InStr(1, Cell, "MAM") Then
Range("A2:A10000").Value = "Wrong"
End If
Next
End Sub
我的桌子是这样的:
提前感谢各位:)要自动添加邮戳:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng as Range
Set rng = Intersect(Target, Me.Range("D:D"))
If rng Is Nothing Then Exit Sub
On Error GoTo SafeExit
Application.EnableEvents = False
Dim cell as Range
For Each cell in rng
If Not IsEmpty(cell) Then ' don't do anything if cell was cleared
cell.Offset(,1).Value = Date
End If
Next
SafeExit:
Application.EnableEvents = True
End Sub
就正确/错误而言,这可以通过公式(ISNUMBER(SEARCH(…))
轻松完成。我认为这里不需要VBA
更好的是,使用Ctrl+T创建一个表。Excel会自动将a列中的公式添加到新行中。对我来说,这听起来像是您想要的
Change
事件,而不是SelectionChange
事件?这听起来至少有两个独立的问题。问题a)检查C列中的单元格并更改a列(同一行)相应地,问题B)在更改D列时,将日期添加到E列。在这种情况下,这些应该是两个单独的线程。此外,我没有看到任何问题/具体问题,只是一个代码请求。我不是专业人士,但是你发布的代码看起来不会做任何与你尝试的接近的事情。您能否进一步细分此问题并删除不必要的代码?请参阅-->是否每次D列发生更改时都要检查所有C列?@FreeSoftwareServers我认为这将只是一个,因为它可能需要相同的代码。但是我想根据单元格C上的文本在单元格a上添加一个值。@BigBen好吧,我对事件了解不多,但在互联网上搜索可能会有所帮助,尽管我不知道要添加什么代码。非常感谢,你是对的,公式每次都会在新行中添加。代码也很好,太棒了!我做了一个轻微的编辑,如果单元格被清除,就不添加日期戳。。。如果这不是你想要的,就忽略编辑。这样更好。如果没有它,我无法删除行。再次非常感谢你:D