我有一个excel文件,其中某一列的每一行都有用"|“分隔的数据(包括日期和整数)。使用VBA时,如果单元格包含的值大于3,000,000,我希望突出显示该单元格。
下面是我的代码。sh2lrow是我当前工作表(工作表2)的最后一行。ioSched是我正在使用的专栏。你能帮我找到一个更好的解决方案吗?我拆分单元格,如果是整数,则将字符串转换为整数,如果大于3,000,000,则用红色突出显示。
For i = 2 To sh2lRow
splitBudget = Split((sh2.Cells(i, ioSched)), "|")
我有一个有条件的格式,它用正确的颜色填充后面的单元格,但是当我用格式单元格输入单元格并单击fill时,它显示出完全不知道为什么会这样。
是否有我可以计数的颜色,收纳格式已设置使用VBA。
当前在下面使用tyhe代码,它在颜色索引行上失败。
Function CountRed(MyRange As Range)
CountRed = 0
For Each cell In MyRange
ColorIndex = cell.DisplayFormat.Interior.ColorIndex
If ColorIndex = 43 Then
CountRed = CountRed + 1
End I
我有一个应用程序,它生成一个(相当大的)电子表格,其中包含需要颜色编码的用户输出。当我生成数据时,我会找到需要着色的块,但是,如果每次只对一个块进行着色,则对它们进行着色是很费时的。我想要做的是维护一大群不连续的单元格,并使用一个Excel调用对其进行着色。
现在我为每种颜色保持一个范围,每次我发现一个新的块需要那个颜色,我就把现有的范围和新的块结合起来。最后,我给这个范围涂上颜色。不幸的是,这真的很慢,而且对大型案件来说也是一种小问题。有没有更好的方法来做这件事?我觉得染色几千个细胞不应该花这么长时间。:)
编辑下面的代码用条件格式解决了它(假设B列中有正确和不正确的单词)
With new
今天,我第一次要和VBA打交道。经过大约两个小时的研究,我放弃了,最后问了这个问题,这个问题很容易理解:
在我的excel Pivot上,我搜索具有特定标题"Percentage“的列。找到这一列后,我想根据单元格的值给单元格添加颜色。( >1绿色,<0.9红色,<1和>=0.9黄色)
到目前为止,我找到了该列(因为它不总是同一列,所以我必须搜索它)。但是在我想要访问单元格的值之后,我得到了一个类型不匹配错误(13)
Sub test()
Dim x As Range
Cells.Find(What:="Percentage", Afte
如何在不删除突出显示的其他单元格的情况下自动高亮显示活动单元格的整个行?(当有活动单元格时,我想突出显示整个行,然后在移动时取消高亮显示。)T
我知道下面的VBA代码可以做到这一点,但它消除了所有其他填充颜色的单元格。
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count > 1 Then Exit Sub
Application.ScreenUpdating = False
' Clear the color of all the cells
我希望用户能够在每一行中突出显示一个单元格。
这段代码突出显示了excel 2007中的单元格,但我的问题是无法编写代码限制用户只突出显示一行中的一个单元格,
以下是代码:
Private Sub Worksheet_BeforeDoubleClick( _
ByVal Target As Range, Cancel As Boolean)
' This macro is activated when you doubleclick
' on a cell on a worksheet.
' Purpose: color or decolor the c
我正在尝试编写一个VBA代码来根据单元格的背景颜色更改该单元格的字体颜色。通常,将记录名称“隐藏”在两列("ID“和"Name")中。单元格使用条件格式进行着色。
我设法找到了一种仅使用一种颜色来更改字体的方法,但不知道如何动态获取单元格的背景颜色并将其用作字体颜色。
简单的.Font.Color = .Interior.ColorIndex不能工作...
Sub Color_text_black()
Dim c As Range
With ActiveSheet.PivotTables("PivotTable2")
我需要一些帮助的函数,可以改变颜色的单元格的值是否等于另一个单元格的值,当前的单元格持有=计数(##:##),我需要更改颜色从红色到绿色,如果该值等于另一个单元格中的值。
用我有限的VBA和excel知识,我想到了这个。
Function ChangeColor(CellColor As Range)
Application.Volatile True
If CellColor = cell.Value Then ChangeColor = cell.Interior.ColorIndex = 14
End Function
如果可能的话,我宁愿不使用条件格式,但如果需要,我愿意将其作为最后的
试图抛弃Excel以获取Google。我有一个空桌子,里面有一些彩色的单元格,我需要用符号来填充。目前,我使用这个VBA脚本来完成以下工作:
Sub mark()
Dim r As Range
Dim rCell As Range
Set r = Selection.Cells
For Each rCell In r
If rCell.Interior.ColorIndex = 10 Then rCell.Value = "×"
If rCell.Interior.ColorIndex = 3 Th
我将条件格式添加到Excel文件中:
Sub Apply_Conditional_Formatting()
With Sheet1.Range("=$1:$1048576")
.FormatConditions.Add Type:=xlExpression, Formula1:="=$A1=$F$1"
.FormatConditions(.FormatConditions.Count).Interior.Color = RGB(255, 255, 0)
End With
End Sub
我希望,一旦应用了条件格式设置,就会保存工作表的格式,并删除
我试图在Excel中练习Levenshtein的距离。要填充单元格,我们需要考虑至少三个单元格(左、上、上)。如果突出显示这三种情况,很容易找到其中的最低限度。
每当我将光标放在任何空单元格上时,我都想突出显示这三个单元格。就像下图所示。当我把光标放在C3上时,B2、B3和C2应该被高举起来。
我找到了一个VBA脚本。但是它会增加整个游标单元格的行和列。我不熟悉VBA,因此不能按我的方式修改行和列。
Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
'Update 20200430
Static xRow
Stati
我试图突出显示选定的单元格当前行和列。
对于VBA,我可以
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim iColor As Integer
On Error Resume Next
Cells.FormatConditions.Delete
iColor = 15
With Target.EntireRow.FormatConditions
.Delete
.Add xlExpression, , "TRUE"
.
我有VBA代码,将用户输入的日期与当前日期进行比较,并以适当的颜色填充背景。一切都很好。
现在我需要使系统检查所选行的F列中的单元格是否为空,我需要将列D、E、F着色为灰色。
代码:
Private Sub CommandButton1_Click()
Dim i As Integer
For i = Range("C5000").End(xlUp).Row To 2 Step -1 'Range upto 5000, chnge this as per your requirment'
If IsEmpty(Cells(i
我是用Excel编写VBA的新手。在Excel工作表中,我的事件发生在多个列的一行中。这些事件仅通过它们的颜色来表示(除了它们是空白单元格之外)。想象一下,单元格A1到G1为红色,H1到V1为蓝色。
我正在尝试写一个sub,当一个单元格改变颜色时,它会告诉我。使用我当前的代码,在下面的文本中,Excel停止响应并弹出错误代码“run-time error '-2147417848 (80010108)‘”。我不确定问题出在哪里。
Sub colorReader()
Set a = ActiveCell
Range("C8").Select
我正在尝试在excel 2003上编写一段代码,以便根据我在上一个单元格中手动输入的信息来更改单元格的背景颜色。这是为了显示我们的前10名客户的客户满意度得分。
我已经在下面写了这段代码,但我只知道如何让它对一个单元格有效,而不是对一系列单元格有效。我是一个业余爱好者,当涉及到使用这个,所以任何帮助都将不胜感激。
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("B1").Value < Range("A1").Value Then Range("B1").Inte
这适用于Microsoft Excel VBA宏。对于每一行,当在列C中输入"Late“时,它应该做的是突出显示左侧的单元格2个空格,以及从右侧到43个空格的单元格范围。例如,C4包含"Late",突出显示A4和F4:AW4。单词"Hold“也是一样,只是颜色不同而已。
Private Sub Highlight_Condition(ByVal Target As Range)
Dim lastRow As Long
Dim cell As Range
Dim i As Long
With ActiveSheet
lastRow = .Cells(.Row
我在Excel 2003工作表中有以下VBA函数:
Function ContarColor(range_data As Range, criteria As Range) As Long
Dim datax As Range
Dim xcolor As Long
xcolor = criteria.Interior.ColorIndex
For Each datax In range_data
If datax.Interior.ColorIndex = xcolor Then
ContarColor = ContarC
我需要在第13行的工作表中找到非空行,并在选中的非空行上放置一个粗框,直到工作表最后使用的行。从C列中,我需要找到非空行。我试过这段代码,但它不工作。你能帮帮我吗?
Sub rowfind3()
Dim cell As Range
Dim r1 As Range
For Each cell In ActiveSheet.Range("C:C")
If (cell.Value <> "") Then
Set r1 = Range("A" & ActiveCell.Row & ":AV
我目前正在使用Excel2010,并且正在尝试运行我在VBA for Applications中拼凑起来的一些代码(在点击alt+F11之后)。我在记事本中输入了代码,双击我想要处理的项目后会出现这个记事本。我还将所有内容保存为启用Excel宏的工作簿(*.xlsm)。
如果列S、T和U满足条件,我会尝试将列D的背景着色为绿色或红色。如果所有列的值都为0,则单元格D应为绿色。如果不是,它应该是红色的。
Sub GreenOrRed()
Dim i As Integer
For i = 2 To i = 27293
If (Cells(i, "S").Value
我正在尝试自动化突出显示过程,以显示某些行已经完成。这个过程很好,但是在我的工作表开始时,我试图让代码为工作表创建一个“键”,以显示颜色的不同含义。在键中,颜色为白色、绿色和红色,用作尚未完成(白色)、已完成(绿色)和错误/不完整(红色)的标签。灰色也用于私人管道。我试图将相应的标签涂上它们的颜色,绿色是绿色,红色是红色等等。我已经为第一行做了代码,但在绿色上,它不把“绿色”单元格涂成绿色(让它变成白色),而在“红色”上,它将单元格涂成绿色。下面是我正在使用的代码(很抱歉,因为我刚开始编写代码):
Sub SmartHighlight()
Dim Counter As Integer
Dim
我需要Excel中的帮助。我的问题是:如何获得此循环中每行的单元格42?作为:
For Each r In Sheets("Sheet2").UsedRange.Rows
sval = r.Cells(42)
If sval = "" Then
If r.Cells(6).Value <> "" And r.Cells(7).Value <> "" And r.Cells(9).Value <> "" And r.Cells(10).Val
我正在为工作中的一个文件编写VBA,需要做一些奇怪的事情。如果列J中的单元格包含某个值,我需要突出显示该行(不是整个行,只突出显示行的已用部分)。我已经弄清楚了所有的事情,除了我的代码突出显示了整行,我只希望它突出显示该行中使用的单元格。有人能给点建议吗?下面的代码
'Yellow Highlight..........THIS IS HIGHLIGHTING THE WHOLE ROW....WHY!!!!! WHY!!!!!!!!!!!
Sheets("EMM").Activate
With Sheets("EMM")
For
因此,我正在开发Access中的报告工具。它查询本地表,创建Excel文档(通过VBA)并生成Excel文件。
我使用下面的代码为可选代码上色,效果很好
For a = 1 To rs.RecordCount
With ExcelSheet
.Cells(a + 1, 1) = a
.Cells(a + 1, 1).EntireRow.Interior.ColorIndex = IIf((a + 1) Mod 2 = 0, 2, 15)
End With
Next
注意,我必须执行a + 1,因为a=1是标题行,这是标题行
所以我在excel里有一张不同名字的桌子。我试图解析整个表,并根据每个单元格中的名称更改单元格背景颜色。我试着使用开关控件,但它不适合我,因为有些名称被跳过了。所以我只知道一些细胞的颜色是正确的,而有些细胞则完全没有颜色。这是密码
Sub selectAll()
Sheets("Assignments").Activate
Dim cell As Range
For Each cell In Range("D7:X48")
Select Case cell.Text
ct Case cell.Tex
我已经查过了,但我没有找到适合我问题的任何东西。
所以,我有一个100*30矩阵,我想让第一行的前4个元素的平均值,然后是第一行元素的平均值,以此类推。
由此,我将得到一个24*30矩阵。我已经这样做了,但是mt粘贴了由4个元素组成的结果。
如何将矩阵创建在一起?
这是我的密码:
Private Sub CommandButton1_Click()
Dim media_horaria As Long
Dim hora As Long
media_horaria = 0
hora = 0
With Sheets("Folha1")
也许是因为我的英语不好,你们中的一些人可能误解了我想做的事情。总之,这是我想要的密码。经过多次试验和错误之后,我犯了许多错误,但我怀疑这是最好的办法,但它是可行的。如果有人知道如何使代码更好,请告诉我=)。我以前的文章也在这个新代码下面。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim row As Integer
For row = 1 To 1000
If Cells(row, "A").Value = "Yes" Then
Range("B" & row).