Excel VBA 类型不匹配错误 13
Excel VBA Type Mismatch Error 13
我是 VBA 的新手,我在同时处理多个工作簿时遇到了一些问题。我有一个功能齐全的代码,基本上只是在满足特定条件的情况下从一个 sheet 获取数据到另一个
现在我正在尝试更新代码以从一个工作簿移动到另一个工作簿,因此我开始声明工作簿而不是仅仅引用 sheet 个名称。
现在我遇到了各种错误。
代码如下。
之前(工作)
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
我需要理解为什么我不能简单地声明这些工作簿并指定一个sheet所属的工作簿。我还想知道在复制或粘贴数据时无需 "select" 每个工作簿即可引用和调暗工作簿的理想方法。
将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
我是 VBA 的新手,我在同时处理多个工作簿时遇到了一些问题。我有一个功能齐全的代码,基本上只是在满足特定条件的情况下从一个 sheet 获取数据到另一个
现在我正在尝试更新代码以从一个工作簿移动到另一个工作簿,因此我开始声明工作簿而不是仅仅引用 sheet 个名称。
现在我遇到了各种错误。
代码如下。
之前(工作)
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
我需要理解为什么我不能简单地声明这些工作簿并指定一个sheet所属的工作簿。我还想知道在复制或粘贴数据时无需 "select" 每个工作簿即可引用和调暗工作簿的理想方法。
将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