用于修改未知名称打开工作簿中的单元格值的命令按钮

Command Button to modify cell value in unknown name open workbook

所以我遇到的问题是我们有一个通过 excel 制作的日程安排程序,它被设置为用“####”替换所有用户名和轮班时间,并且它通常会显示名称输入 "Contact blah blah for new version." 这发生在 2015 年 1 月 1 日。现在他们可以将他们的计算机回溯到 2015 年 1 月 1 日之前的日期,一旦他们在任何单元格中键入一个值,工作 sheet 就会运行并且他们的所有数据都会重新出现。我们在全国各地都有位置,每两周将文件保存到 Wildcardname.xls 我正在寻找一种方法来编写一个命令按钮,该按钮可以找到另一个随机名称打开的工作簿,然后转到隐藏 sheet "help" 并将单元格 A184 的值更改为“01/01/2016”或我插入的任何日期。这将消除“####”问题并将其替换为最初输入的值。然后用户可以保存文件并继续。

我浏览了各种帮助板,发现了这个..提示用户 select 工作簿。这将是需要更改的工作簿。

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

可以修改这个来完成我想完成的吗?

我还不能 post 图片,所以这里有一个 link 的模型。左边是程序拍摄前的样子,右边是我想要的样子。

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

希望此描述能使...

在此先感谢您的帮助。

这是我用的:

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),*.xlsx 更改为 Excel files (*.xls),*.xls