2

我想比较 2 个不同工作表中 2 列的值,如果值相等,则第一个工作表中的相应单元格将在第二个工作表的相应单元格中采用相同的值。所以我使用了循环函数,但问题是我无法在第一张表的函数中定义和使用第二张表。

我会很感激指导我解决这个问题。

您将在下面找到我要使用的功能:

Sub Test_V01()
    Dim i As Integer
    Dim j As Integer

    Dim Bouira As Excel.Worksheet

    For j = 3 To 100
        For i = 3 To 120
            If Cells(j, 3) = Bouira!Cells(i, 30) Then 
                Cells(j, 12) = Bouira!Cells(i, 31)
            End If
        Next i                 
    Next j

End Sub
4

2 回答 2

2
  1. 分别替换Cells(j, 3)Cells(j, 12)以确保始终使用此工作表中的单元格,而不是活动工作表中的单元格。Me.Cells(j, 3)Me.Cells(j, 12)

  2. 替换Bouira!CellsBouira.Cells。工作表中没有集合,其元素的字面值为Cells.

  3. Bouira在进入循环之前分配一个引用:

    Set Bouira = ThisWorkbook.Worksheets("Sheet name")
    
于 2012-04-06T09:30:49.657 回答
1

这将设置对工作表的引用Bouira

Sub Test_V01()
    Dim i As Integer, j As Integer, Bouira As Worksheet

    Set Bouira = Worksheets("Bouira")

    For j = 3 To 100
        For i = 3 To 120
            If Cells(j, 3) = Bouira.Cells(i, 30) Then
                Cells(j, 12) = Bouira.Cells(i, 31)
            End If
        Next i
    Next j

End Sub
于 2012-04-06T09:45:33.820 回答