用于将选择自动复制到新文件和自动保存的代码

时间:2014-04-25 12:51:23

标签: excel vba excel-vba copy

我正在尝试编写一些代码,选择一系列不同的单元格,将其导出到具有预定义文件名的新文件,但weeknumber除外。

我首先通过在weeknumber上过滤来选择我想要的单元格。

之后,我使用以下代码将其导出到新文件;

Sub Exportplanning()

Dim strFileName As String

strFileName = "Uitvoeringsplanning BRTTI 2014 week " & InputBox("Geef de desbetreffende weken aan en geef aan of het om voorlopig gaat (v) of definitief (def) Uitvoeringsplanning BRTTI 2014 week ..", "Geef de bestandsnaam op")
If Trim(strFileName) = vbNullString Then Exit Sub

Application.ScreenUpdating = False
Application.DisplayAlerts = False

ActiveSheet.Copy
With ActiveWorkbook.ActiveSheet
Cells.Select
Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
.Parent.SaveAs "D:\rpreijnd\Desktop\" & strFileName & ".xlsx", xlOpenXMLWorkbook
.Parent.Close False
End With

Application.DisplayAlerts = True
Application.ScreenUpdating = True

End Sub

问题是我希望新文件没有隐藏的行和列。我似乎无法做对。

此外,我希望新文件中的单元格作为值而不是公式,我尝试了一些代码,但它搞砸了整个文件。

另一个问题是,当我点击取消按钮时,它仍会生成一个文件。如果我点击取消,什么是让动作停止的正确代码?

1 个答案:

答案 0 :(得分:0)

创建一个新工作簿以使用以下新信息保存:

Dim NewWorkbook As Workbook

Workbooks.Add NewWorkbook

NewWorkbook.SaveAs (Filename)

如果您只想过去源文件中的值,请使用:

Selection.PasteSpecial Paste:=xlPasteValues