2014-06-25 91 views
0

我有一個名爲Final_Sheet一個工作表,我想創建上表的按鈕,然後執行以下操作從活動工作表到新的Excel中複製值文件

選擇單元格區域A1:D30和皮卡從細胞中的值只創建一個新的Excel文件並將複製的單元格值粘貼到創建的Excel文件的Sheet1中。我能夠做到這一點,進一步我不明白該怎麼做,任何人都可以幫助我嗎?

Private Sub Button1_Click() 
Dim rownum As Integer 
Dim selection As Range 

On Error Resume Next 
Application.ScreenUpdating = False 
Application.DisplayAlerts = False 

rownum = InputBox("Row No to Copy :", "OK") 
selection = ActiveSheet.Range(Cells(1, 1), Cells(rownum, 10)).Select 
selection.Copy 


Flname = InputBox("Enter File Name :", "Creating New File...") 

MsgBox ("Output File Created Successfully") 
If Flname <> "" Then 
    Set NewWkbk = Workbooks.Add 
    ThisWorkbook.Sheets(1).Range("D1:D30").Copy Before:=NewWkbk.Sheets(1) 
    NewWkbk.Sheet(1).Select 
    Cells(1, 1).Activate 
    selection.PasteSpecial xlPasteValues 

    NewWkbk.SaveAs ThisWorkbook.Path & "\" & Flname 

    ActiveWorkbook.Close 
End If 

End Sub 

回答

0

下面的代碼應該按照你的要求去做。

編輯:粘貼值僅

Private Sub Button1_Click() 
    'Dim Variables 
    Dim ws As Worksheet 
    Dim rng As Range 
    Dim wbNew As Workbook, wbCurrent As Workbook 
    Dim strFileName As String 

    'Assign object variables 
    Set wbCurrent = ActiveWorkbook 
    Set ws = wbCurrent.ActiveSheet 
    Set rng = ws.Range("A1:D30") 'Amend range if needed 

    'Get desired file path from user 
    strFileName = InputBox("Enter File Name: ", "Creating New File...") 
    If strFileName <> "" Then 
     'Create new Workbook and paste rng into it 
     Set wbNew = Workbooks.Add 
     rng.Copy 
     wbNew.Sheets(1).Range("A1:D30").PasteSpecial xlValues 

     'Save new workbook using desired filepath 
     wbNew.SaveAs wbCurrent.Path & "\" & strFileName 
    End If 
End Sub 

這不是很清楚,我從工作簿時希望關閉與ActiveWorkbook.Close的問題,但根據需要,你可以很容易地在下面wbNew.SaveAs ...添加wbNew.ClosewbCurrent.Close

+0

非常感謝主席先生,它的工作,但我只想要單元格的值不是公式 – user3291887

+0

我怎麼能添加粘貼特價僅售 – user3291887

+0

更新我的回答對使用PasteSpecial的 – Aiken

相關問題