Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.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_Excel Formula_Xls - Fatal编程技术网

VBA、循环列和复制单元格格式(如果其他列中的值匹配)

VBA、循环列和复制单元格格式(如果其他列中的值匹配),vba,excel,excel-formula,xls,Vba,Excel,Excel Formula,Xls,我有一张excel表格和两张表格 我想要的是循环表1(A列)的所有行,并搜索表中是否存在此值 第2页第(e)列['item_barcode']如果发现,我想将相同的突出显示复制到第2页 我不擅长vba事实上我以前从未使用过它,但我必须为我的老板这样做,这个excel表格包含超过55k行! 有没有一种方法可以用vba实现?否则的话,我将不得不这样做 将xls转换为mysql,php处理后返回xls。:D 这应该可以做到: Sub LoopAndHighlight() Dim cl A

我有一张excel表格和两张表格

我想要的是循环表1(A列)的所有行,并搜索表中是否存在此值 第2页第(e)列['item_barcode']如果发现,我想将相同的突出显示复制到第2页

我不擅长vba事实上我以前从未使用过它,但我必须为我的老板这样做,这个excel表格包含超过55k行! 有没有一种方法可以用vba实现?否则的话,我将不得不这样做
将xls转换为mysql,php处理后返回xls。:D

这应该可以做到:

  Sub LoopAndHighlight()

  Dim cl As Range
  Dim RowNum As Integer

  On Error Resume Next

     For Each cl In Intersect(Sheets("Sheet1").Range("A:A"), Sheets("Sheet1").UsedRange)
        RowNum = 0
        RowNum = Application.WorksheetFunction.Match(cl.Value, Sheets("Sheet2").Range("E:E"), 0)

        If RowNum <> 0 Then
           cl.Interior.Color = Sheets("Sheet2").Range("E" & Application.WorksheetFunction.Match(cl.Value, Sheets("Sheet2").Range("E:E"), 0)).Interior.Color
        End If
     Next cl

  End Sub
Sub-LoopAndHighlight()
Dim cl As范围
将RowNum设置为整数
出错时继续下一步
对于Intersect中的每个cl(图纸(“图纸1”)。范围(“A:A”)、图纸(“图纸1”)。使用范围)
RowNum=0
RowNum=Application.WorksheetFunction.Match(cl.Value,Sheets(“Sheet2”)。范围(“E:E”),0)
如果RowNum为0,则
cl.Interior.Color=板材(“Sheet2”).范围(“E”)和应用程序工作表功能.Match(cl.Value,板材(“Sheet2”).范围(“E:E”),0)).Interior.Color
如果结束
下一个cl
端接头

这不需要VBA。一个简单的vlookup()或index()就可以了。你能解释一下吗?可能是一个很好的例子。谢谢,这真的很好,但由于某些原因,它从来没有正确执行过,在第1页9000行中,但当我运行宏时,它只对其中4000行起作用,其余部分由于某些原因失败!使用vlookup和过滤器N/A解决了问题,无论如何,谢谢。。。奇怪的是,它对更多的行不起作用。不管怎样,很高兴你成功了。