2016-07-20 5 views
0

エクセルに閉じられたブックへの外部リンク用に作成されたダイナミックテキスト文字列が、数式に変換する必要があります。ファイルのいくつかはまだ存在しませんが、私は数式として作成されたリンクが必要です。次のコードを実行すると、存在しないファイルを開くように求められます。プロンプトを自動的にキャンセルして式に関係なく入力する方法はありますか?手間のかかるプロンプトを手動でキャンセルするのは面倒です!vbaを使用してファイルオープンプロンプトを自動的にキャンセルする方法

Sub GetData() 
    Dim path As String, r As Single, c As Single 
    Application.Calculation = xlCalculationManual 
    For c = 0 To 29 
     For r = 0 To 1000 
      path = Worksheets("String formulas").Range("a3").Offset(r, c) 
      Worksheets("Transformed data").Range("bl3").Offset(r, c).Formula = "=" & path 
     Next r 
    Next c 
End Sub 

答えて

0

あなたはApplication.DisplayAlertsを切り替えることにより、これを回避することができ、この更新されたコード

Sub GetData() 
    Dim path As String, r As Single, c As Single 
    Set fso = CreateObject("scripting.filesystemobject") 
    Application.Calculation = xlCalculationManual 
    For c = 0 To 29 
     For r = 0 To 1000 
      path = Worksheets("String formulas").Range("a3").Offset(r, c) 
      If fso.FileExists(path) = True Then 
       Worksheets("Transformed data").Range("bl3").Offset(r, c).Formula = "=" & path 
      End If 
     Next r 
    Next c 
End Sub 
0

で試してみてください。

Sub GetData() 
    Dim path As String, r As Single, c As Single 
    Application.Calculation = xlCalculationManual 
    Application.DisplayAlerts = False 

    For c = 0 To 29 
     For r = 0 To 1000 
      path = Worksheets("String formulas").Range("a3").Offset(r, c) 
      Worksheets("Transformed data").Range("bl3").Offset(r, c).Formula = "=" & path 
     Next r 
    Next c 

    Application.DisplayAlerts = True 
End Sub 
関連する問題