首页 > 解决方案 > 在 B 列中添加多个名称的首字母

问题描述

我从这个论坛的另一个用户那里得到了这个代码(非常感谢)。

现在我正在寻找编辑它,这样我就不必选择特定的列。

所以我想要这段代码是,对于 C 列中的每个名称(甚至是第二、第三、第四、第五个名称),代码需要获取第一个字母并添加一个点,并将其放在 B 列中。

例如:SAFGH(5 个姓氏首字母)

Dim cell As Range
    For Each cell In Selection
                S = ""
        If cell.Value <> "" Then
            V = Split(cell.Value, " ")
        For Each W In V
            S = S & Left$(W, 1) & "."
        Next W
        cell.Offset(ColumnOffset:=-1).Value = S
        End If
    Next cell

提前致谢!

标签: excelvba

解决方案


您可以更改SelectionActiveSheet.Range("C:C")

Sub Test()
Dim cell As Range
Dim LastRow As Long

LastRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, "C").End(xlUp).Row

For Each cell In ActiveSheet.Range("C2:C" & LastRow)
    S = ""
    If cell.Value <> "" Then
        V = Split(cell.Value, " ")
        For Each W In V
            S = S & Left$(W, 1) & "."
        Next W
        cell.Offset(ColumnOffset:=-1).Value = S
    End If
Next cell

End Sub

推荐阅读