excel工作表另存副本,文件名由指定单元格的值命名

本文介绍了一个VBA宏,用于在Excel的Sheet1中创建一个函数计算特定值,然后使用该值作为文件名复制并保存当前工作簿。宏首先选择Sheet1,并在J1单元格设置公式,接着复制整个工作表,将J1单元格的值作为新文件名保存到桌面。

下面是在sheet1中,在J1单元格中建立一个函数得到需要的值,建立副本,将J1的值赋给文件名,保存文件。

在这里插入图片描述
Sub copybook()

’ copybook 宏


Sheets(“sheet1”).Select
Range(“J1”).Select
ActiveCell.FormulaR1C1 = _
“=RIGHT(R[1]C[-3], LEN(R[1]C[-3]) - 3)&LEFT(RIGHT(R[1]C[-9], LEN(R[1]C[-9]) - 5), LEN(RIGHT(R[1]C[-9], LEN(R[1]C[-9]) - 5)) - 4)&LEFT(R[5]C[-8], 4)”
Range(“J1”).Select
Sheets(“sheet1”).Copy
Dim iuser
iuser = Environ(“username”)
ChDir “C:\Users” & iuser & “\Desktop”
ActiveWorkbook.SaveAs Filename:=“C:\Users” & iuser & “\Desktop” & Range(“J1”).Value & “.xlsx”, _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
Range(“J1”).Select
Selection.ClearContents
Range(“A1”).Select
ActiveWorkbook.Save
ActiveWindow.Close
End Sub

公司各种系统需要各式各样的导入模板,需要快速的制作模板另存为特定的工作簿工作簿命名要求一定的格式:年月日时分+区分标识。 在vb中array() 函数用于创建数组,表示返回一个包含数组的 Variant。在vb中array() 函数用于创建数组,表示返回一个包含数组的 Variant。通常用Array数组函数选定指定的多个工作表: Worksheets(Array("清单信息")).Copy 复制问题解决后,使用saveas解决另存为的问题。在代码中用format函数取现在的时间,VBA 的 Format 函数工作表函数 TEXT 用法基本相同,但功能更加强大,许多格式只能用于VBA 的 Format 函数,而不能用于工作表函数 TEXT 。 Format(Now, "yyyymmddhhmm") 把format函数嵌套进 saveas 代码中,即可实现工作簿命名自动取当前的时间,必要是可以加下后缀,避免工作簿名称重复。format函数取到分钟即可。不过在一分钟内不要再点另存为,否则工作簿名称重复。另存为后活动工作簿为新的工作簿。想返回原来工作簿的童鞋们可以用Activate返回指定工作表。这样做代码,即高效又避免工作簿名称杂乱无章。 公司各种系统需要各式各样的导入模板,需要快速的制作模板另存为特定的工作簿工作簿命名要求一定的格式:年月日时分+区分标识。 在vb中array() 函数用于创建数组,表示返回一个包含数组的 Variant。在vb中array() 函数用于创建数组,表示返回一个包含数组的 Variant。通常用Array数组函数选定指定的多个工作表: Worksheets(Array("清单信息")).Copy 复制问题解决后,使用saveas解决另存为的问题。在代码中用format函数取现在的时间,VBA 的 Format 函数工作表函数 TEXT 用法基本相同,但功能更加强大,许多格式只能用于VBA 的 Format 函数,而不能用于工作表函数 TEXT 。 Format(Now, "yyyymmddhhmm") 把format函数嵌套进 saveas 代码中,即可实现工作簿命名自动取当前的时间,必要是可以加下后缀,避免工作簿名称重复。format函数取到分钟即可。不过在一分钟内不要再点另存为,否则工作簿名称重复。另存为后活动工作簿为新的工作簿。想返回原来工作簿的童鞋们可以用Activate返回指定工作表。这样做代码,即高效又避免工作簿名称杂乱无章。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值