excel - 需要替换工作表名称
问题描述
有没有办法(可能有代码)来搜索和替换工作表名称?
例如,我有 20 个工作表名称,名称中包含“Direct (1)”、“Direct (2)”、“Direct (3)”等,我想替换“Direct (2)”在每个实例中将工作表名称中的“Net”。
所以它将是 "Net (1)" , "Net (2)" , "Net (1)"
Public Sub Direct2ToNet()
Const sRepl As String = "Direct (2)"
Dim ws As Worksheet
Dim nPos
On Error Resume Next
For Each ws In ActiveWorkbook.Worksheets
With ws
If .Name Like "*" & sRepl & "*" Then _
.Name = Replace(.Name, sRepl, "Net")
End With
Next ws
On Error GoTo 0
End Sub
解决方案
以下应该足够了:
Option Explicit
Public Sub Direct2ToNet()
Const sRepl As String = "Direct"
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
ws.Name = Replace$(ws.Name, sRepl, "Net")
Next ws
End Sub
推荐阅读
- java - 我是否应该在 java 中使用尾递归,即使它没有优化尾递归
- r - 使用分位数在 R 中创建间隔列,然后计算平均值
- jasper-reports - Jasper 报告,交叉表操作
- c# - GraphServiceClient 过滤器问题
- ios - 图库中的图像选择器
- ubuntu - 无法将日志从 syslog ng 服务器转发到 kafka 主题
- google-cloud-platform - 如何将一个 BigQuery 表复制到另一个区域的现有数据集?
- node.js - 使用异步函数时如何按顺序处理事件
- html - 如何摆脱 CSS 中的双垂直滚动条?
- react-admin - React Admin:如何修复 Create 中的无休止加载