Excel 使用vba将特定图纸另存为单个xls文件

Excel 使用vba将特定图纸另存为单个xls文件,excel,vba,xls,Excel,Vba,Xls,我正在尝试编写vba代码,以将特定工作表另存为另一个工作簿文件。我希望用户能够命名工作簿文件和路径 我尝试了不同的方法,但都不奏效 如果不可能,我可以只保存到此位置: “Q:\Sorular\” Spesific文件名以代码显示 Sub Soru_Publish() Dim fName1 As String fName1 = Worksheets("Storyboard").Range("E3").Value & "_" & Worksheets("Storyboard").R

我正在尝试编写vba代码,以将特定工作表另存为另一个工作簿文件。我希望用户能够命名工作簿文件和路径

我尝试了不同的方法,但都不奏效

如果不可能,我可以只保存到此位置:

“Q:\Sorular\” Spesific文件名以代码显示

Sub Soru_Publish()

Dim fName1 As String
fName1 = Worksheets("Storyboard").Range("E3").Value & "_" & Worksheets("Storyboard").Range("E2").Value

Worksheets("Soru_Publish").Visible = True
Worksheets("Soru_Publish_2").Visible = True
Worksheets("Soru_Publish").Activate

    Dim FirstBlankCell As Long, rngFound As Range

    With Sheets("Soru_Publish")
        Set rngFound = .Columns("A:A").Find("*", After:=.Range("A1"), _
            searchdirection:=xlPrevious, LookIn:=xlValues)
        If Not rngFound Is Nothing Then FirstBlankCell = rngFound.Row
    End With

Worksheets("Soru_Publish").Range("A1:Y" & FirstBlankCell & "").Copy
Worksheets("Soru_Publish_2").Range("A1:Y" & FirstBlankCell & "").PasteSpecial Paste:=xlPasteValues

Worksheets("Soru_Publish_2").Copy

With ActiveWorkbook
    .SaveAs filename:="Q:\Sorular\" & filename
    .Close
End With

Worksheets("Sorular").Activate
Worksheets("Sorular").Range("B4").Select

Worksheets("Soru_Publish").Visible = False
Worksheets("Soru_Publish_2").Visible = False

End Sub


不幸的是,当我运行宏时,在SaveAs行出现运行时错误“1004”。

对不起,我忘了将“filename”更改为“fName1”。
代码工作正常,只是输入错误。

您的代码工作正常,但使用ActiveWorkbook会给您带来意想不到的结果

如果要将单个工作表另存为新的
.xls
文件,只需在需要保存的工作表上直接使用
.SaveAs
,如下所示:

Dim wrkSheet As Worksheet
Set wrkSheet = Worksheets("Soru_Publish_2")
wrkSheet.SaveAs Filename:="Q:\Sorular\" & fName1
或者,如果不想定义新变量,请执行以下操作:

Worksheets("Soru_Publish_2").SaveAs Filename:="Q:\Sorular\" & fName1
希望这有帮助