2015-01-02 50 views
2

所以我遇到的問題是我們有一個通過excel製作的日程安排程序,它設置爲用「####」替換所有用戶名和移位時間,並且它通常會顯示名稱輸入「新版本的聯繫人等等」。這發生在2015年1月1日。現在,他們可以將計算機備份到2015年1月1日之前的日期,並且一旦他們輸入值到工作表運行的任何單元格中,並且他們的所有數據都會重新出現。我們有遍佈全國的地點,每隔兩週將文件保存到Wildcardname.xls我正在尋找一種方法來編程命令按鈕,該按鈕可以找到另一個隨機名稱打開工作簿,轉到隱藏工作表「幫助」並更改單元格A184到「01/01/2016」或任何我插入的日期。這將刪除「####」問題並將其替換爲最初輸入的值。用戶然後可以保存該文件並繼續。命令按鈕以未知名稱修改單元格值打開工作簿

我在瀏覽各種幫助板,發現這個..提示用戶選擇工作簿。這將是需要改變的工作手冊。

http://www.excelforum.com/excel-programming-vba-macros/695467-copy-values-from-a-worksheet-to-another-workbook-source-workbook-name-unknown.html

Sub CopyData() 

    Dim DstRng As Range 
    Dim DstWkb As Workbook 
    Dim DstWks As Worksheet 
    Dim FileFilter As String 
    Dim Filename As String 
    Dim SrcRng As Range 
    Dim SrcWkb As Workbook 
    Dim SrcWks As Worksheet 
    Dim SheetName As String 

    SheetName = "Output Table" 

    FileFilter = "Excel Workbooks (*.xls), *.xls" 
    Filename = Application.GetOpenFilename(FileFilter, , "Open Source Workbook") 

    If Filename = "False" Then 
     MsgBox "Open Source File Canceled." 
     Exit Sub 
    End If 

     Set SrcWkb = Workbooks.Open(Filename) 
     Set SrcWks = SrcWkb.Worksheets(SheetName) 
     Set SrcRng = SrcWks.Range("A2:H20") 

    FileFilter = "Excel Workbooks (*.xls), *.xls" 
    Filename = Application.GetOpenFilename(FileFilter, , "Open Destination Workbook") 

    If Filename = "False" Then 
     MsgBox "Open Destination File Canceled." 
     Exit Sub 
    End If 

     Set DstWkb = Workbooks.Open(Filename) 
     Set DstWks = DstWkb.Worksheets(SheetName) 
     Set DstRng = DstWks.Range("A2:H20") 

     SrcRng.Copy Destination:=DstRng 

End Sub 

可以這樣修改,以完成我想要完成什麼?

我還不能發佈圖片,所以這裏有一個模擬鏈接。在左邊的節目拍攝之前,右邊是我想要的樣子。

http://i528.photobucket.com/albums/dd330/DLN1223/mockup.jpg

希望這說明,使因爲....

在此先感謝您的幫助。

+0

更改創建該文件的程序? – SeanC

回答

2

這是我用:

Dim FileToOpen As Variant 
Dim WKbook as workbook 
FileToOpen = Application.GetOpenFilename("Excel files (*.xlsx),*.xlsx", , "Select Workbook to Open") 
If FileToOpen = False Then Exit Sub 'quit on cancel 
Set Wkbook = Workbooks.Open(FileToOpen, False, False) 

有了這個,我可以設定我想要的值,並保存根據文件類型

Wkbook.Sheets("help").Range("A184")=#1/1/2016# 
Wkbook.Close SaveChanges:=True 

變化,你可能需要更改Excel files (*.xlsx),*.xlsxExcel files (*.xls),*.xls

+0

當我運行時,我得到一個運行時錯誤'424'所需的對象。那是因爲「幫助」工作表是隱藏的嗎? – user4411151

+0

固定排字錯誤 - 我正在編寫每月的工作簿,並忘記刪除那些更具通用性的引用。 vba甚至可以找到xlVeryHidden工作表,所以知名度不是問題 – SeanC

+0

謝謝你!這解決了這個問題! – user4411151

相關問題