excel - 在 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
提前致谢!
解决方案
您可以更改Selection
为ActiveSheet.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
推荐阅读
- android - 如何获取用户在 TimePicker 和 DatePicker 中选择的时间和日期?
- sql - 在不使用 TOP 的情况下为 SSMS 选择 Last Row Hackerrank 挑战者
- r - 更改列数不确定的数据帧的格式(添加“.”表示 1000 位数字)
- flutter - 如何在颤动中将小部件(如芯片或容器)添加到文本字段
- amazon-web-services - AWS 服务:ecs-tasks.amazonaws.com 条件键不起作用
- logic - Verilog 中的 BCD 加法器(带门)
- typescript - 带分页的firestore onsnapshotListner
- javascript - 使用服务器代理隐藏第三方 API 密钥
- matlab - 格式化 DOM MATLAB 表
- java - 如何使用通知通道显示媒体播放器控件?