excel - 如何在 VBA 代码中使用输入框的结果作为工作表名称
问题描述
我真的是 VBA 的新手,并且从互联网搜索中学到了迄今为止我所知道的东西,但我找不到解决我的问题的方法。
我有两本工作簿,一本包含有关我公司所有当前项目的信息,另一本仅包含活动项目的信息。活动项目工作簿是我们存储每个项目需要审查的所有文档的地方。每个项目都有自己的工作表。
当我在 Active Projects 工作簿中创建新工作表时,我想使用宏来填写 All Projects 工作簿中的相关项目信息。
我见过将单元格和范围从一个工作簿复制到另一个工作簿的代码,但它们的工作表名称是硬编码的。像这样:
'将选定行中的范围复制到剪贴板 Workbooks("All Project.xlsx").Worksheets("All Open").Range("B" & (ActiveCell.Row)).Copy
'PasteSpecial 粘贴值、公式、格式等 Workbooks("Active Projects.xlsm").Worksheets( InputBoxValue ).Range("A2").PasteSpecial Paste:=xlPasteValues
我想使用输入框来询问将粘贴复制数据的工作表名称,但经过数小时的研究,我无法找到使用输入框的结果作为工作表名称。
感谢您继续我的 VBA 教育
解决方案
下面的代码将重命名活动表:
Sub Rename_Worksheet()
Dim Str As String
Dim Ws As Worksheet
Set Ws = ActiveSheet
Str = InputBox("Please provide new name for Worksheet : " & Ws.Name)
Ws.Name = Str
MsgBox "Worksheet renamed successfully to " & Str
End Sub
推荐阅读
- azure - 如何获取未连接到 Log Analytics Worspace 的 VMS 列表?
- python - SQLAlchemy 动态 column_property
- javascript - Netconf librarr - JS 中的 RPC 请求
- python - 在本地从 pyspark 读取 azure datalake gen2 文件
- flutter - 导航时颤振菜单不会覆盖主菜单
- django - 在 Django 模板上同时运行两个列表
- bootstrap-4 - Y-滚动 flex 容器内的两个 flex 容器
- javascript - 如何在 Pills Bootstrap 中显示 URL
- c# - 为什么 Autofac 会抛出异常?
- javascript - 如何在全日历的更新对话框中更改开始日期、结束日期