我需要用户在列C中插入yes / no。如果否,下一个单元格应该显示N/A,并填充为灰色。如果是,则下一个单元格应突出显示为黄色,并允许用户填写该单元格。
代码如下,但是如果一个单元格有no,然后被更改为yes,那么下一个单元格不会从N/A变为突出显示。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cell As Range
If Target.Column = 3 Then
Set Cell = Target.Offset(0, 1)
If Len(Target.Value)
在这里的一位议员的帮助下,我解决了一个问题。问题是
ColumnB值在与ColumnO值相同的情况下是绿色的。
当ColumnB值与ColumnO值不常见时,它是黄色的。
当ColumnO值不在ColumnB中时,其值为红色。
现在我面临一个新的问题,在#3中,当columnO突出显示红色时,它也突出显示空单元格。可能是因为ColumnB中没有空单元格,但是在sheet2 columnO值之间有一些空单元格,我希望这些空单元格在那里。知道如何忽略空的单元格来突出显示吗?
Dim addr1 As String, addr2 As String
With Worksheets
我是VBA宏的新手。我正在尝试创建宏,该颜色的空白单元格在名为“货物在装货港收到”和“在海运码头(CY或港口)的闸门”的列中,参考另一个名为“装载类型”的列中的值。例如,如果"Load Type“列的值为"BB”和"RORO“,则只有空白单元格的"Full In Gate at Ocean Terminal (CY or Port)”列应以黄色突出显示。同样,如果"Load Type“列的值为"FCL”,则“在装货港收到的货物”列只有空白单元格,则应以黄色突出显示。 如在excel屏幕中高亮显示,如果"Load Type“栏的值为
我正在尝试搜索单元格B2:W6的范围,以查找高亮显示的非空单元格,并返回这些单元格中的值。我目前还没有代码,也不知道如何开始。
不是所有的单元格都被高亮显示,但是如果有一个单元格被高亮显示并且不是空的,我希望在msgbox中返回该值。
突出显示的颜色是通用的黄色突出显示,这是默认设置。
大致是这样的:
With Range("B2:W6")
If Cell is highlighted and <> "" Then
MsgBox Cell.Value
End If
End With
当对单元格进行更改时,我使用下面的公式突出显示黄色的行和红色的单元格。问题是,有时我们希望对一行进行多个更改,并希望所有更改的单元格都保持为红色,但当更改行中的第二个单元格时,此公式会清除第一个红色单元格。是否可以添加一些例外,以防止在进行第二次更改时已有的红细胞变为黄色? Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
Target.EntireRow.Interior.Color = vbYe
下面是我正在使用的Excel宏,它突出显示了整个行的黄色,并在进行更改时将单元格更改为红色。还设置为,如果在同一行上更改了另一个单元格,则行保持为黄色,第一个已更改的单元格保持为红色,而第二个更改的单元格也将变为红色。当您手动更改一个单元格或复制和粘贴另一个单元格时,宏可以工作。
问题是,当我将多个单元格复制并粘贴到一行时,这些突出显示功能不起作用。有谁知道我如何修改下面的宏来高亮显示黄色的线条,并使所有的单元格复制并粘贴成红色?我仍然希望函数,如果我改变另一个单元格在同一行,它将保持所有以前改变的单元格黄色和红色在这一行。提前感谢!
Private Sub Workbook_SheetCha
我首先要说的是,我所知道的唯一的VBA是尝试和错误地操作记录的宏。我是一名注册会计师,正在努力学习VBA (并希望我能去学校学习计算机编程!)
我有多张工作表的大型练习本。G列中突出显示的黄色单元格需要以特定方式格式化,以便文件能够正确导入到基于web的程序中。它们需要保持突出显示黄色,正确/底部对齐,以及自定义的mm/dd/yyyy格式。我记录了一个宏“查找/替换”,试图用突出显示的黄色、底部/右侧对齐、自定义格式mm/dd/yyyy替换G列中所有突出显示的黄色单元格,但它并不限制替换仅限于列G。我也不知道如何让宏在完成之前遍历所有工作表。救命?!
这是我从我的基本宏记录中得到的:
Sub
' On Error Resume Next 'Turn off error handling
Set mf = Selection.Find(What:=FindText, after:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False) 'search and find m