【问题标题】:Move selection down a row and change font color from red to black when there is a change to another sheet将选择向下移动一行并将字体颜色从红色更改为黑色
【发布时间】:2017-05-30 19:49:43
【问题描述】:

我有一个 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 中选择删除一行并将字体颜色从红色更改为黑色。请帮助!

【问题讨论】:

  • 你试过什么?难道你不需要在里面写上Sheets("Sheet1").Range("A" & Target.row).Offset(1,0).Font.Color = RGB(0,0,0)之类的东西吗? ...您将此Worksheet_Change() 事件放入了哪张表?
  • 嗨布鲁斯。这对我不起作用。工作表更改在我的 Sheet7 中。谢谢!

标签: vba excel


【解决方案1】:

这个我没测试过,不过应该是这样的

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

【讨论】:

  • 这只能工作一次。每次更改后,它应该下移一行,最后创建一个列表。有什么建议么?谢谢!
  • @lstrick - 不清楚 - 您是否希望颜色在Sheet7 中的Target 单元格不管 下移一个单元格?
  • 这就是问题....第一个问题不清楚。如果您在 Sheet7 中选择相同的单元格,您希望 sheet1 中的黑色单元格再增加一,而不仅仅是一行?
  • 当目标单元格改变时(它改变是因为东西被扫描到 excel 中),它会将目标 A4 中的数字拉到另一张纸上。我需要从 A4 扫描这些数字以在其他地方形成一个列表
  • 完整地说,数字被一遍又一遍地扫描到 Excel 中。当发生更改时,原始 VBA 代码将单元格选择保留在适当的位置,以节省人员扫描的时间。但是现在,我们想要形成一个所有“是”产品的列表(我根据 C4 中的输出判断它是否是。)这些“是”产品,我需要输入一个列表。当扫描仪不需要停止时,我正在努力使其成为一个连续的过程。
【解决方案2】:

试试这个。再次,未经测试。但是如果 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

【讨论】:

    猜你喜欢
    • 2021-10-26
    • 1970-01-01
    • 2018-12-17
    • 1970-01-01
    • 1970-01-01
    • 2020-06-26
    • 2020-04-03
    • 2013-04-20
    • 1970-01-01
    相关资源
    最近更新 更多