工作表粘贴值/另存为然后使用vba返回原始文件

时间:2012-10-04 06:51:55

标签: excel-vba vba excel

我有一个工作簿,它可以执行多个Excel函数,这些函数依赖于一个变量并自行填充。我有一个循环来创建这些表单并保存在一个目录中,但在此之前我想复制所有并粘贴特殊,以便公式将消失。

Sub SaveAs1()
For i = 172 To 225 
    Dim SaveName As Integer
    SaveName = ActiveWorkbook.Sheets(1).Range("bi1").value
    Application.ActiveWorkbook.SaveAs "C:\" & SaveName
    Range("bi1") = i + 1
Next
End Sub

我最终使用试错法算出

Sub Save()

Rem kaydetmece dongusu

For i = 172 To 180 Step 1

    Application.DisplayAlerts = False

    Workbooks.Open Filename:="C:\"

    Range("bi1") = i + 1

    Dim SaveName As Integer
    SaveName = ActiveWorkbook.Sheets(1).Range("bi1").value

    Range("A1:BE63").Select
    Range("a1").Activate
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False

    Application.ActiveWorkbook.SaveAs "C:\" & SaveName

    Columns("BE:BU").Select
    Selection.Delete Shift:=xlToLeft

    Sheets("CAL").Select
    ActiveWindow.SelectedSheets.Delete

    Sheets("sahadan").Select
    ActiveWindow.SelectedSheets.Delete

    ActiveWorkbook.Close True

Next

End Sub

1 个答案:

答案 0 :(得分:3)

如果您正在询问如何粘贴值,则可以使用此方法。将“A1”替换为您需要使用的实际范围。

Range("A1").Copy
Range("A1").PasteSpecial xlPasteValues