【发布时间】:2016-01-19 17:55:50
【问题描述】:
我有两列数字,它们一起是唯一的(复合键)。我想创建一个唯一的 ID 号(第三列),类似于 MS Access 使用主键的方式。我想在 VBA 中执行此操作,但我不知道该怎么做。
我在 excel 中的 VBA 不是很好,所以希望您能看到我开始尝试的内容。可能完全错了……我不知道?
我不知道如何进行下一个连接,我不确定如何正确地进入下一行。
Sub test2()
Dim var As Integer
Dim concat As String
concat = Range("E2").Value & Range("F2").Value
var = 1
'make d2 activecell
Range("D2").Select
Do Until concat = ""
'if the concat is the same as the row before we give it the same number
If concat = concat Then
var = var
Else
var = var + 1
End If
ActiveCell.Value = var
ActiveCell.Offset(0, 1).Select
'make the new concatination of the next row?
Loop
End Sub
感谢任何帮助,谢谢。
【问题讨论】:
-
你想在哪一列写入
concat值,用你当前的代码,单元格E2被覆盖。 -
@SilentRevolution - 它不会进入 ActiveCell(例如 D2)吗?
-
@Jeeped,对不起,我看错了,但不,变量,数值写入 d2 而不是 concat 值
-
concat最初属于单元格 E2 和 F2,ID=1(单元格 D2)然后我想转到下一行...如果 E3 和 F3 的concat是与 E2 和 F2 相同,则 ID 也 =1,如果不是 ID=2(单元格 D3)。然后是下一行。 -
我明白了,我假设您想将连接的值写入单元格。