簡體   English   中英

Excel VBA類型不匹配錯誤13

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM