VBA将文件另存为使用不同的工作簿

我是VBA的新手,直到现在都经历过这么好的事情,我有些被问到我没有处理,还没学好的东西。

我正在提供一些信息,让你更好地了解我的情况,并希望了解我在做什么。

我正在做的是以下内容,我正在使用一个主文件打开两个工作簿,第一个是需要清理的数据,并准备填写第二个工作簿,这是一个模板(.csv),将被上传到树液。

这个想法是要在主文件中的所有代码,以便通过按下它的button所需的所有操作可以完成,但我不能完成保存文件的最后一部分作为我想要使用主站path的特定名称文件。 它给我一个错误:这是我得到的:

'Pasting Data in CVC Template Workbooks("CVC_Weekly AMS.csv").Activate Range("E3").Select ActiveSheet.Paste 'Saving Data as: If Range("B4") = "C:\" Then path = Range("B4") Else path = Range("B4") + "\" End If filename = InputBox("Type in the name to save this file - Recommended name CVC_Weekly AMS Current Date ") ActiveWorkbook.SaveAs path & filename, FileFormat:=6 '6 .csv format 

似乎代码表示在模板文件中使用范围,而不是使用主文件,事情是,如果我添加另一个代码,如Windows(masterfile)或工作簿(masterfile).activate,它保存主文件使用我在input框中input的名称。

有人能帮我一个忙吗? 这让我感到沮丧!

不知道你在拷贝什么。

这段代码可以指导你正确的方向。

 Sub Button1_Click() Dim wb As Workbook Dim bk As Workbook Dim ws As Worksheet Dim sh As Worksheet Dim ShRng As Range Set wb = ThisWorkbook Set bk = Workbooks("CVC_Weekly AMS.csv") Set ws = wb.Sheets("Sheet1") Set sh = bk.Sheets("Sheet1") Set ShRng = sh.Range("E3") ws.Range("A1").Copy ShRng If ws.Range("B4") = "C:\" Then Path = ws.Range("B4") Else Path = ws.Range("B4") + "\" End If End Sub