vba - 自动定义工作表名称

标签 vba excel

我正在尝试在 VBA 中自动定义工作表名称。

这是我创建的代码:

Range("F7:F11").Select
Selection.Copy
Sheets("janeiro").Select
Range("F7").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

基本上,我需要单元格 b2 中的内容来定义工作表的名称。在此示例中,工作表的实际名称是“janeiro”,但我需要由单元格 b2 的内容定义该名称。

例如,二月、三月... 以自动方式完成。

这可能吗?

最佳答案

将“janeiro”替换为 Range("B2").Value

然后,将代码稍微收紧为 avoid using Select methods :

Range("F7:F11").Copy
Sheets(Range("B2").Value).Range("F7").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

注意:如果指定的工作表名称不存在,这将引发错误。

或者...这将是一个很好的机会向您展示如何使用变量,而不是显式引用:

Dim shName as String 'Defines a STRING variable which we will use to hold a sheet name

shName = Range("B2").Value

'## Now, we can simply refer to shName any time we need to refer to the value in "B2"

Range("F7:F11").Copy
Sheets(shName).Value).Range("F7").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

关于vba - 自动定义工作表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23830328/

相关文章:

Excel PowerPivot 平均计算

json - 从 map 中提取数据位置

vba - 在单元格单击时显示 MsgBox - 即使已选择单元格

vba - 两种算法的校正计算空行

VBA Excel : return the parent workbook of a range

excel - 基于按列 F1 分组的列 F2 的聚合对列 F1 进行不同计数

vba - excel 2013中多张工作表的索引匹配

excel - vbNewline 与 Chr(10) 作为 Windows 与 Mac OSX 中的换行分隔符

excel - 刷新 WorkbookConnection 或其 ODBCConnection 有什么区别吗?

excel - 根据单元格值数据按路径引用 Excel 工作簿