嵌套循环到工作表不起作用

时间:2013-12-12 10:26:00

标签: excel-vba vba excel

请原谅我,如果这是一个愚蠢的问题 - 我还没有尝试编程大约20年,所以我很生气。

给出以下代码:

Count = 0
Count2 = 0
Set BlankCell = Sheets("Credits").Range("L13")
Set SpareCell = Sheets("Telesales").Range("N1")

   For Count = 0 To EndOfCredits
      For Count2 = 0 To EndOfMerge
         If BlankCell.Offset(Count) = SpareCell.Offset(Count2) Then
         BlankCell.Offset(Count, 1) = SpareCell.Offset(Count2, -1)
         End If
      Next Count2
  Next Count

这应该比较两个列表。如果匹配,则SpareCell左侧单元格的值应出现在BlankCell右侧的单元格中。

它没有。已经三天了。我开始失去生存的意愿

1 个答案:

答案 0 :(得分:0)

尝试这样

Option Explicit

Sub Main()

count = 0
count2 = 0

Set blankCell = Sheets("Credits").Range("L13")
Set spareCell = Sheets("Telesales").Range("N1")

For count = 0 To endOfCredits
    For count2 = 0 To endOfMerge
        If blankCell.Offset(count, 0) = spareCell.Offset(count2, 0) Then
            blankCell.Offset(count, 1) = spareCell.Offset(count2, -1)
        End If
    Next count2
Next count

End Sub

我的完整工作版本,样本数据如下

Option Explicit

Sub Main()

Dim count As Long
Dim count2 As Long
Dim endOfCredits As Long
Dim endOfMerge As Long

Dim blankCell As Range
Dim spareCell As Range

count = 0
count2 = 0
Set blankCell = Sheets("Credits").Range("L13")
Set spareCell = Sheets("Telesales").Range("N1")

endOfCredits = 17
endOfMerge = 10

For count = 0 To endOfCredits
    For count2 = 0 To endOfMerge
        If blankCell.Offset(count, 0) = spareCell.Offset(count2, 0) Then
            blankCell.Offset(count, 1) = spareCell.Offset(count2, -1)
        End If
    Next count2
Next count

End Sub

之前的数据

积分

enter image description here

电话销售

enter image description here

运行宏后的数据

enter image description here