这个VBA代码完成了我的需要但只在一行:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("C1:H1")) Is Nothing Then
Cancel = True
If Application.CountIf(Sheets("Sheet2").Range("B:B"), Target.Value) = 0 Then
Range("B1").Value = Target.Value
End If
End If
End Sub
我的Excel工作表上有:
A B C D E F G H
MAN NN NNP JJ POS
CAN MOD NN VV JJ RB NON
... ...
最多300,000个数据。
我希望当我双击C:H范围内的任何单元格时,其值将被复制到B.上面的代码只处理一行。如果我将C1:H1更改为C2:H2并将B1更改为B2,它将处理第二行。
如何让它适用于所有行?
答案 0 :(得分:4)
我认为以下更改将起作用(未在iPhone上测试):
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("C:H")) Is Nothing Then
Cancel = True
If Application.CountIf(Sheets("Sheet2").Range("B:B"), Target.Value) = 0 Then
Cells(Target.Row, 2).Value = Target.Value
End If
End If
End Sub