2016-04-18 15 views
0

Ich versuche, Link zu Arbeitsmappen. Dann entfernen Sie den Link. Die Formel funktioniert einwandfrei, wenn der vollständige Pfad angegeben wird, aber fehlschlägt, sobald eine Zeichenfolge übergeben wird. In der folgenden VBA versuche ich, den Namen der Position der Dateien aus einem Zellenwert in Sheet1 anzugeben.Using .formula mit VBA Excel

'Location of Template and Country 
    Cntryloc = """" & Sheet1.Range("B5") & """" 
    Debug.Print Cntryloc 
    TempLoc = "" & Sheet1.Range("B11") & "" 
    Finaltemplloc = Sheet1.Range("B17") 

    i=2 

    'Getting the name of excel Sheet 
    CntryExcel = Sheet1.Range("C5") 

    TempLoc = "" & Sheet1.Range("B11") & "" 
    Workbooks.Open TempLoc & "\" & "Bank" & ".xlsx", True, False 
    Workbooks("" & FName & ".xlsx").Activate 
    ActiveWorkbook.Unprotect Password:="Tall.Trees" 
    Worksheets("Template").Unprotect Password:="Tall.Trees" 
    Worksheets("Template").Range("D14").Formula = "='&"["&CntryExcel&"]Dump"&"'"&"!"&"$A$" & i"" 
    ActiveWorkbook.BreakLink Name:=Cntryloc, Type:=xlExcelLinks 
     Worksheets("Template").Protect Password:="Tall.Trees" 
    ActiveWorkbook.Protect Password:="Tall.Trees" 

    'Location for Final Output 

    ActiveWorkbook.SaveAs Filename:=Finaltemplloc & "\" & Bank.xlsx 
    ActiveWorkbook.Close 
+0

Sie versuchen, den Link von wo zu entfernen? –

+0

ist Dump ein Blattname? –

+0

Ja Dump ist ein Blatt Name und ich versuche, den Link zu der Länder-Datei zu entfernen..Die untenstehende Formel funktioniert, aber ich wollte es dynamisch sein, funktioniert der folgende Code, wenn in den richtigen Stellen oben gesetzt: Workbooks.Open "Z: \ TCRM = CCR \ CountryRIR \ TallTree \ Vorlagen \ "& FName &" .xlsx ", True, False Arbeitsblätter (" Vorlage "). Bereich (" D14 "). Formula =" = '[country list.xlsm] Dump '! $ A $ "& i &" " ActiveWorkbook.BreakLink Name: =" Z: \ TCRM = CCR \ CountryRIR \ TallTree \ country list.xlsm ", Typ _ : = xlExcelLinks –

Antwort

0

Versuch mit diesen

Worksheets("Template").Range("D14").Value = "='[" & CntryExcel & "]Dump'!" & "$A$" & i & ActiveWorkbook.BreakLink & "Name:=" & Cntryloc & ", Type:=" & xlExcelLink 
0

versuchen, diesen

Worksheets("Template").Range("D14").Formula = "='[" & CntryExcel & "]Dump!$A$" & "i" 

, die der Formel Eingang

aber prüfen CntryExcel einen Arbeitsmappe Namen zu halten und keinen Blattnamen beheben sollen gemäß Ihrem Kommentar vor der Initialisierung ('Getting the name of excel Sheet)