[英]Excel VBA Type Mismatch Error 13
我是VBA的新手,同時使用多個工作簿時遇到一些問題。 我有一個功能齊全的代碼,實際上,只要滿足某些條件,就可以將數據從一張紙傳送到另一張紙。
現在,我正在嘗試更新代碼以從一個工作簿移動到另一個工作簿,因此,我開始聲明工作簿,而不僅僅是引用工作表名稱。
現在我遇到各種錯誤。
代碼如下。
之前(工作)
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
我需要理解為什么我不能簡單地聲明這些工作簿並以此方式指定工作表所屬的工作簿。 我還想知道引用和暗化工作簿的理想方法,而不必在復制或粘貼數據時“選擇”每個工作簿。
將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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.