Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.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
Vba 将所选内容下移一行,并在更改其他工作表时将字体颜色从红色更改为黑色_Vba_Excel - Fatal编程技术网

Vba 将所选内容下移一行,并在更改其他工作表时将字体颜色从红色更改为黑色

Vba 将所选内容下移一行,并在更改其他工作表时将字体颜色从红色更改为黑色,vba,excel,Vba,Excel,我有一个vba代码,当发生更改时,它可以很好地将一张图纸的选择保持在同一单元格中 现在,我需要一个vba代码来将所选内容下移一行,并在另一张纸(sheet1 a列)中的字体颜色从红色更改为黑色 当前代码: Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Me.Range("A4")) Is Nothing Then Application.EnableEvents = False Me.Ra

我有一个vba代码,当发生更改时,它可以很好地将一张图纸的选择保持在同一单元格中

现在,我需要一个vba代码来将所选内容下移一行,并在另一张纸(sheet1 a列)中的字体颜色从红色更改为黑色

当前代码:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A4")) Is Nothing Then
Application.EnableEvents = False
Me.Range("A5").Value = Target.Value
Target.Select
Application.EnableEvents = True
End If
End Sub

因此,当对Sheet7单元格A4进行更改时,我需要Sheet1列a中的选择删除一行,并将字体颜色从红色更改为黑色。请帮助

我还没有测试过这个,但应该是这样的

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A4")) Is Nothing Then
    Application.EnableEvents = False
    Me.Range("A5").Value = Target.Value
    Target.Select
    Sheet1.Range("A" & Target.row + 1).Interior.Color = RGB(0, 0, 0)
    Application.EnableEvents = True
End If
End Sub

试试这个。同样,未经测试。但我注释掉了颜色变化,以防Sheet1列A中的文本为黑色。如果是的话,你就看不到文本了

Private Sub Worksheet_Change(ByVal Target As Range)
Dim lastRow As Long

    lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row

    If Not Intersect(Target, Me.Range("A4")) Is Nothing Then
        Application.EnableEvents = False
        Me.Range("A5").Value = Target.Value
        Target.Select
        Sheet1.Range("A" & lastRow + 1).Value = Target.Value
'        Sheet1.Range("A" & lastRow + 1).Interior.Color = vbBlack
        Application.EnableEvents = True
    End If
End Sub

你试过什么?难道你不需要在那里写一行字,比如说
Sheets(“Sheet1”).Range(“a”&Target.row”).Offset(1,0)。Font.Color=RGB(0,0,0)
。。。你把这个
工作表\u Change()
事件放在哪张纸上了?嗨,布鲁斯。这对我不起作用。工作表更改在我的工作表7中。谢谢这只工作了一次。每次更改后,它都应该下移一行,最后创建一个列表。有什么建议吗?谢谢@lstrick-不清楚-是否希望颜色向下移动一个单元格,而不考虑
表单7中的
目标
单元格?这就是问题所在。。。。第一个问题不清楚。如果在Sheet7中选择同一单元格,则希望sheet1中的黑色单元格再向下增加一行,而不仅仅是一行?当目标单元格发生变化时(由于内容被扫描到excel中而发生变化),它会将目标A4中的数字拉到另一张表中。我需要从A4扫描这些数字,形成一个列表。在其他地方,数字会被一遍又一遍地扫描到excel中。当有更改时,原始VBA代码将单元格选择保持在原位,以节省人员扫描的时间。但是现在,我们想要形成一个所有“是”产品的列表(我根据C4中的输出判断是否是)。这些“是”产品,我需要输入一个列表。当扫描仪不需要停止时,我正在努力使其成为一个连续的过程。