【发布时间】:2017-03-27 23:29:31
【问题描述】:
我认为代码应该是这样的,但我在尝试处理名字和姓氏的这一行遇到错误。基本上,我想在 A 列中创建一个代码,它是人名的第一个字母和人的姓氏的第一个字母,与行号连接。该行将是活动行(始终为 A 列),名字和姓氏将存储在 B 列中。
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 1 Then Exit Sub
On Error GoTo ErrHandler
Application.EnableEvents = False
If Target.Column = 1 Then
Target.Offset(0, 0).FormulaR1C1 = "=ROW()"
TV1 = Target.Offset(0, 0).FormulaR1C1
Target.Offset(0, 0).FormulaR1C1 = "=UPPER(LEFT(R[" & "=ROW()" & "]C[1],1)&MID(R[" & "=ROW()" & "]C[1],FIND("" "",R[" & "=ROW()" & "]C[1],1)+1,1))"
TV2 = Target.Offset(0, 0).FormulaR1C1
Target.Offset(0, 0).Value = TV2 & "-" & TV1
End If
End Sub
【问题讨论】:
-
R[" & "=ROW()" & "]可以写成R,如果你只想要同一行而不是偏移等于同一行的行数。