Vba 如何解决将生成的文件名更改为变量的问题?

Vba 如何解决将生成的文件名更改为变量的问题?,vba,excel,Vba,Excel,我有两个excel文件。其中一个设置为只读,并从数据库收集数据。excel文件的另一个用途是复制所需的列。 代码已启动并正在运行,我对此没有问题。但是,生成的excel文件名总是在每个月初更改。为了使代码正常工作,我需要每次更改代码中的源名称。有人知道如何解决这个问题吗 以下是我如何声明工作簿和工作表变量: 'set variables for wkb and ws to copy Dim wbSource As Workbook Set wbSource = Workbooks("UK2_20

我有两个excel文件。其中一个设置为只读,并从数据库收集数据。excel文件的另一个用途是复制所需的列。 代码已启动并正在运行,我对此没有问题。但是,生成的excel文件名总是在每个月初更改。为了使代码正常工作,我需要每次更改代码中的源名称。有人知道如何解决这个问题吗

以下是我如何声明工作簿和工作表变量:

'set variables for wkb and ws to copy
Dim wbSource As Workbook
Set wbSource = Workbooks("UK2_2016_06.xlsx")

Dim wsCopy As Worksheet
Set wsCopy = wbSource.Worksheets("UK2_2016_06") 'change name as needed
这是你想要的吗

Dim mnth As Long, Dt As Long

mnth = Month(Date)
Dt = Day(Date)

'~~> If 06 is month then
Set wsCopy = wbSource.Worksheets("UK2_" & Year(Date) & "_" & Format(mnth, "00"))

'~~> If 06 is date then
Set wsCopy = wbSource.Worksheets("UK2_" & Year(Date) & "_" & Format(Dt, "00"))
同样,对于工作簿:)

这可能对您有用: