簡體   English   中英

如何循環比較2個工作表中的2列,並增加或減少參考?

[英]How do I loop and compare 2 columns in 2 worksheets and reference increase or decrease?

我想比較2個不同工作表中的2列(每張工作表中的同一列),然后比較它們是增加還是減少,然后將單元格塗成紅色或綠色,以表示是增加還是減少。 但是我的公式不起作用...我使用activecell和activecell offset嘗試了同一工作表上的列,並且它起作用了,但是我似乎無法在另一張工作表中引用它? 但是是我的(無效)代碼...

Sub test3()
      Range("A1").Select
Do
  If ActiveWorkbook.worksheets(“Sheet1!”).Cell(ActiveCell) > ActiveWorkbook.worksheets(“Sheet2!”).Cell(“A1”) Then 
        ActiveCell.Interior.Color = RGB(255, 0, 0)
    ElseIf ActiveWorkbook.worksheets(“Sheet1!”).Cell(ActiveCell) < ActiveWorkbook.worksheets(“Sheet2!”).Cell(“A1”) Then 
        ActiveCell.Interior.Color = RGB(0, 255, 0)
    Else

    End If
         ActiveCell.Offset(1, 0).Select
Loop Until IsEmpty(ActiveCell)
End Sub

嘗試此操作,只需要將列設置為所需的任何列索引即可。

Dim row As Integer
Dim column As Integer

row = 1
column = 1

ActiveWorkbook.Worksheets("Sheet1!").Cells.Interior.Color = RGB(255, 255, 255)

Do While ActiveWorkbook.Worksheets("Sheet1!").Cells(row, column) <> ""

    If ActiveWorkbook.Worksheets("Sheet1!").Cells(row, column) <> ActiveWorkbook.Worksheets("Sheet2!").Cells(row, column) Then
        If ActiveWorkbook.Worksheets("Sheet1!").Cells(row, column) > ActiveWorkbook.Worksheets("Sheet2!").Cells(row, column) Then
            ActiveWorkbook.Worksheets("Sheet1!").Cells(row, column).Interior.Color = RGB(255, 0, 0)
        Else
            ActiveWorkbook.Worksheets("Sheet1!").Cells(row, column).Interior.Color = RGB(0, 255, 0)
        End If
    End If
    row = row + 1
Loop

這將起作用-只需更改colorRng引用即可滿足您的需求:

Sub ColorCode()
    Dim cl As Range, colorRng As Range

    Set colorRng = Worksheets(1).Range("A1:A10")

    For Each cl In colorRng
        If cl > Worksheets(2).Cells(cl.Row, cl.Column) Then
            cl.Interior.Color = RGB(255, 0, 0)
        Else
            cl.Interior.Color = RGB(0, 255, 0)
        End If
    Next cl
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM