2016-07-15 12 views
0

Ich bin irgendwie neu in VBA, und ich habe einige Probleme mit mehreren Arbeitsmappen gleichzeitig arbeiten. Ich hatte einen Code voll funktionsfähig, der im Wesentlichen nur Daten von einem Blatt zu einem anderen unter bestimmten Bedingungen nimmt.Excel VBA Typ Mismatch Fehler 13

Jetzt versuche ich den Code zu aktualisieren, um von einer Arbeitsmappe zu einer anderen zu verschieben, und damit habe ich begonnen, Arbeitsmappen zu deklarieren, anstatt nur Blattnamen verweisen.

Jetzt bekomme ich verschiedene Fehler.

Code folgt.

vor (arbeitete)

Option Explicit 
Sub TrendDataByDay() 

    'determine date of data pulled 
    Dim CurrentDate As String 

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

nach (nicht, jetzt 2 Arbeitsmappe mit)

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 

ich auch versucht:

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

Ich muss verstehen, warum kann ich nicht Deklarieren Sie einfach diese Arbeitsmappen und geben Sie auf diese Weise die Arbeitsmappe an, zu der ein Arbeitsblatt gehört. Ich möchte auch den idealen Weg kennen, um Arbeitsmappen zu referenzieren und zu verdunkeln, ohne jede Arbeitsmappe beim Kopieren oder Einfügen von Daten "auswählen" zu müssen.

+2

'Arbeitsmappen (wbDaily) .Sheets (" Daily Pull "). Bereich (" B23 "). Wert sollte nur' wbDaily.Sheets ("Daily Pull"). Bereich ("B23"). Wert " –

Antwort

1

ändern Workbooks(wbDaily) zu wbDaily

auch eine kleine Notiz .. im Gegensatz zu VB.Net

Dim wbDaily, wbHistory As Workbook 

ist die gleiche wie

Dim wbDaily As Variant 
Dim wbHistory As Workbook 

so können Sie es

Dim wbDaily As Workbook, wbHistory As Workbook 
zu

ändern
+0

Vielen Dank für deine Hilfe! Es scheint, dass ich die richtige Methode von wbDaily.etc versucht hatte, aber ich hatte Probleme wegen der mehrdeutigen Erklärung von wbDaily. Mit Dim, wie du es vorgeschlagen hast, hast du den Trick gemacht. – Jon

Verwandte Themen