Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 基于另一个单元格自动向单元格添加值_Excel_Vba - Fatal编程技术网

Excel 基于另一个单元格自动向单元格添加值

Excel 基于另一个单元格自动向单元格添加值,excel,vba,Excel,Vba,我想基于另一个使用VBA的单元格向单元格添加值,但我不确定如何添加。我已经在网上搜索过了,但什么也找不到 我有一个表格,在C列,如果任何单元格包含文本“MAM”(因为它可能有MAM-565),则将值从单元格a更改为“错误”,但如果它包含“NAC”,则将值更改为“正确”。它应该与找到的文本位于同一行 另外,我想在D中的每个单元格被填充时,自动将日期添加到单元格E中。 这是我已有的代码: Private Sub Worksheet_Change(ByVal Target As Range) 'Ad

我想基于另一个使用VBA的单元格向单元格添加值,但我不确定如何添加。我已经在网上搜索过了,但什么也找不到

我有一个表格,在C列,如果任何单元格包含文本“MAM”(因为它可能有MAM-565),则将值从单元格a更改为“错误”,但如果它包含“NAC”,则将值更改为“正确”。它应该与找到的文本位于同一行

另外,我想在D中的每个单元格被填充时,自动将日期添加到单元格E中。 这是我已有的代码:

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