- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想对彼此不同的单元格进行颜色突出显示;在本例中是 colA 和 colB。这个函数可以满足我的需要,但看起来重复、丑陋且效率低下。我不太熟悉 VBA 编码;有没有更优雅的方式来编写这个函数?
编辑我试图让这个函数做的是:1. 突出显示 ColA 中与 ColB 中不同或没有的单元格2. 突出显示 ColB 中与 ColA 中不同或没有的单元格
Sub compare_cols()
Dim myRng As Range
Dim lastCell As Long
'Get the last row
Dim lastRow As Integer
lastRow = ActiveSheet.UsedRange.Rows.Count
'Debug.Print "Last Row is " & lastRow
Dim c As Range
Dim d As Range
Application.ScreenUpdating = False
For Each c In Worksheets("Sheet1").Range("A2:A" & lastRow).Cells
For Each d In Worksheets("Sheet1").Range("B2:B" & lastRow).Cells
c.Interior.Color = vbRed
If (InStr(1, d, c, 1) > 0) Then
c.Interior.Color = vbWhite
Exit For
End If
Next
Next
For Each c In Worksheets("Sheet1").Range("B2:B" & lastRow).Cells
For Each d In Worksheets("Sheet1").Range("A2:A" & lastRow).Cells
c.Interior.Color = vbRed
If (InStr(1, d, c, 1) > 0) Then
c.Interior.Color = vbWhite
Exit For
End If
Next
Next
Application.ScreenUpdating = True
End Sub
最佳答案
啊,是的,那是蛋糕,我一整天都在做。实际上你的代码看起来很像我的做法。尽管如此,我选择使用循环整数而不是使用“For Each”方法。我在您的代码中看到的唯一潜在问题是 ActiveSheet 可能并不总是“Sheet1”,而且 InStr 也已知会给出有关 vbTextCompare 参数的一些问题。使用给定的代码,我将其更改为以下内容:
Sub compare_cols()
'Get the last row
Dim Report As Worksheet
Dim i As Integer, j As Integer
Dim lastRow As Integer
Set Report = Excel.Worksheets("Sheet1") 'You could also use Excel.ActiveSheet _
if you always want this to run on the current sheet.
lastRow = Report.UsedRange.Rows.Count
Application.ScreenUpdating = False
For i = 2 To lastRow
For j = 2 To lastRow
If Report.Cells(i, 1).Value <> "" Then 'This will omit blank cells at the end (in the event that the column lengths are not equal.
If InStr(1, Report.Cells(j, 2).Value, Report.Cells(i, 1).Value, vbTextCompare) > 0 Then
'You may notice in the above instr statement, I have used vbTextCompare instead of its numerical value, _
I find this much more reliable.
Report.Cells(i, 1).Interior.Color = RGB(255, 255, 255) 'White background
Report.Cells(i, 1).Font.Color = RGB(0, 0, 0) 'Black font color
Exit For
Else
Report.Cells(i, 1).Interior.Color = RGB(156, 0, 6) 'Dark red background
Report.Cells(i, 1).Font.Color = RGB(255, 199, 206) 'Light red font color
End If
End If
Next j
Next i
'Now I use the same code for the second column, and just switch the column numbers.
For i = 2 To lastRow
For j = 2 To lastRow
If Report.Cells(i, 2).Value <> "" Then
If InStr(1, Report.Cells(j, 1).Value, Report.Cells(i, 2).Value, vbTextCompare) > 0 Then
Report.Cells(i, 2).Interior.Color = RGB(255, 255, 255) 'White background
Report.Cells(i, 2).Font.Color = RGB(0, 0, 0) 'Black font color
Exit For
Else
Report.Cells(i, 2).Interior.Color = RGB(156, 0, 6) 'Dark red background
Report.Cells(i, 2).Font.Color = RGB(255, 199, 206) 'Light red font color
End If
End If
Next j
Next i
Application.ScreenUpdating = True
End Sub
我做的不同的事情:
嗯,这就是总结。祝您的项目顺利!
关于excel - 用于比较两列并用颜色突出显示单元格差异的 VBA 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14204477/
我有一个Perl脚本,要求用户输入密码。当用户键入字符时,我该如何仅回声“ *”代替用户键入的字符? 我正在使用Windows XP / Vista。 最佳答案 您可以玩Term :: ReadKey
This question already has answers here: How to urlencode a querystring in Python? (13个回答) 7年前关闭。 我正在
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 7 年前。 Improve t
我希望能够检测 h1 中的“/”标签,并将其替换为 ,其中.slash将充当分隔符。 var div = $('h1'); div.html(div.html().replace(/\//g, '/
我是一名 Java 初学者,目前正在寻找一种分割字符串的方法 message根据分隔符 (.) 划分为子字符串。理想情况下,我有单个句子,并且我想将每个句子包装在 HTML 标签中,即。 e. 。
MySql:我的产品表设置如下: pg_id |页面名称 1 |披萨馅饼 2 | child 菜单 Php:在循环遍历 MySQL 表中的记录时回显 html。 "; ?> 我
我正在尝试一次读取一个文本文件并将每一行打印到终端窗口。我正在使用 g++ 在 mac 上编译,例如 g++ cpp3.cpp -o cpp3。 文本文件如下所示: 20100000001 20100
这个问题在这里已经有了答案: sed fails with "unknown option to `s'" error [closed] (1 个回答) 关闭 7 年前。 我有个小问题。 我尝试用文
我有一个非常具体的问题。我正在使用 Debian。我有一个 FTP 文件夹,应用程序将在其中上传 pdf 文件,该文件将存储在 ftpfolder/EMAIL_ADDRESS 中,文件名将是 CURR
我尝试使用其 before 和 after 值的 means 填充 NaN 单元格。 type date v1 v2 0 a 2018-09 215
我在上述模拟中使用 SHM 的标准微分方程,a = -w^2*x。我正在使用 Python,并以 odeint 作为求解器。尽管对其进行了多次编辑,我仍然将输出视为直线而不是正弦曲线。代码是: fro
System.out.print("Enter the message to encrypt: "); message = s.next().toString(); // this mess
我有一个主要的 LinearLayout ,在 main.xml 文件中,在 Activity 中设置 ( setContentView )。入主LinearLayout我想添加 1-X 自定义 Li
并用括起来是否安全?
一些用户生成的文本(可能包含脚本/代码)将向公众展示。如果我过滤掉所有 和标记并用 将结果文本括起来和 ,用户提交的脚本有机会被执行吗? 请给我一个如何破解这个保护方案的例子。 最佳答案 Is it
{abc def ghi} 我已经通过在比较它是否是 { 或 } 之前先跨度包装所有字符来完成此操作。但这太慢了,我需要反转该过程,是否可以获取相对于父 div 的 cha
我想创建一个自定义 UITabBarItem 并使用 xib 文件设置其 UI,就像常规 UIView 一样。 我尝试在 UITabBarItem 上创建一个子类,但创建 xib 文件的选项不可用。
我有以下 HTML 结构: Text 1 Text 2 Text 3 Text 4 Text 5 我想找到一个包含“4”
我正在逐字创建着色工具。基本上用户可以从单词中选择几个字母并将它们分开着色,因此一个单词可以有 2 种或更多颜色。 为了跟踪所有单词,它们都有 ID,我想知道我怎么知道选择了哪些字母以及所选单词有哪些
我是 Python 的新手。我确实有一个包含单词列表的文件。它们包含丹麦字母 (ÆØÅ),但 re.compile 不理解这些字符。该函数按每个 ÆØÅ 拆分单词。文本是从 Twitter 和 Fac
C#如何在字符串中找到多余的)或(括号,并替换为@ 示例输入 )(more))) ((((more))) ((((more)) (about)((index)(more))) (about)((ind
我是一名优秀的程序员,十分优秀!