请原谅我,如果这是一个愚蠢的问题 - 我还没有尝试编程大约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右侧的单元格中。
它没有。已经三天了。我开始失去生存的意愿
答案 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
之前的数据
表积分
表电话销售
运行宏后的数据