Excel VBA连接带有循环的单元格

时间:2018-10-26 11:08:19

标签: excel vba for-loop concatenation

下面的代码在双击C列最后一个空白单元格时,会从其上方的单元格中依次生成下一个数字。

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As 
Boolean)
Dim lastrow As Long
lastrow = Cells(Cells.Rows.Count, "C").End(xlUp).Row + 1
If Not Intersect(Target, Range("C:C")) Is Nothing Then
If Target.Address = Cells(lastrow, "C").Address Then
Application.EnableEvents = False
Cancel = True
Cells(lastrow, "C") = Cells(lastrow - 1, "C") + 1
Application.EnableEvents = True
End If
End If
End Sub

我想做的是为D列同一行上的单元格添加一个简单的串联,该串联以新生成的数字为前缀“ TLD”。 我已经在该站点上尝试了几个示例,但是我不太成功,因为我不太了解如何将其包含在此代码中,或者实际上是否应该包含它?

例如,单元格C2 = 300000,然后单元格D2应读取TLD300000。 我不想使用公式,因为我不知道随着时间的推移会使用多少行。 有任何想法吗? 谢谢 保罗

2 个答案:

答案 0 :(得分:1)

添加一行

        ….
        Cells(lastrow, "C") = Cells(lastrow - 1, "C") + 1
        Cells(lastrow, "D") = "TLD" & Cells(lastrow - 1, "C") '<--- added line

答案 1 :(得分:0)

尝试以下

Dim c As Range
For Each c In Range("C2:C" & Lastrow)
If c.Value <> "" Then
c.Value = c.Value & "TLD"
End If
Next c