首页 文章

Excel VBA类型不匹配错误13

提问于
浏览
0

我是VBA的新手,我在使用多个工作簿时遇到了一些问题 . 我有一个完全功能的代码,基本上只是在满足某些条件的情况下将数据从一个工作表传递到另一个工

现在我正在尝试更新代码以从一个工作簿移动到另一个工作簿,因此我已经开始声明工作簿而不是仅仅引用工作表名称 .

现在我收到各种错误 .

code follows.

之前(工作)

Option Explicit
Sub TrendDataByDay()

   'determine date of data pulled
    Dim CurrentDate As String

    CurrentDate = Sheets("Daily Pull").Range("B23").Value

之后(失败;现在使用2个工作簿)

Option Explicit
Sub TrendDataByDay()
    Dim wbDaily, wbHistory As Workbook

    'declare daily and history workbooks
    Set wbDaily = ActiveWorkbook
    Workbooks.Open Filename:="\\Daily Focus Metrics\Focus Metrics History by Facility.xlsm"
    Set wbHistory = Application.Workbooks("Focus Metrics History by Facility.xlsm")

    'determine date of data pulled
    Dim CurrentDate As String

    'error here!
    CurrentDate = Workbooks(wbDaily).Sheets("Daily Pull").Range("B23").Value

我也尝试过:

CurrentDate = wbDaily.Sheets("Daily Pull").Range("B23").Value

我需要理解为什么我不能简单地声明这些工作簿并以这种方式指定工作表所属的工作簿 . 我还想知道引用和调暗工作簿的理想方法,而无需在复制或粘贴数据时“选择”每个工作簿 .

1 回答

  • 1

    Workbooks(wbDaily) 更改为 wbDaily

    也是一个小笔记..不像VB.Net

    Dim wbDaily, wbHistory As Workbook
    

    是相同的

    Dim wbDaily As Variant
    Dim wbHistory As Workbook
    

    所以你可以改成它

    Dim wbDaily As Workbook, wbHistory As Workbook
    

相关问题