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

标签 vba excel

所以我遇到的问题是我们有一个通过 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

希望这个描述能够使......

预先感谢您的帮助。

最佳答案

这是我使用的:

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 文件 (*.xlsx)、*.xlsx 更改为 Excel 文件 (*.xls)、*.xls

关于vba - 用于修改未知名称打开工作簿中的单元格值的命令按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27747962/

相关文章:

Excel 公式或规则或 VBA 比较 2 个单元格并仅突出显示差异

vba - 模仿bdh函数填充向下

vba - 运行时错误 1004 : Unable to get the PivotTables property of the Worksheet class

excel - 列值总和的平均值

excel - 我怎样才能从几个Excel文件中获取信息到主文件中的某一列?

excel - 如果不为空白或零,则从 5 个单元格取平均值

vba - 确定对象类型

vba - excel库存计算返回的代码

excel - 同步切片机

excel - 用不同颜色突出显示重复项(以及连接的整行)EXCEL