2016-08-18 4 views
0

ウェブプラグイン(Bloomberg)を使用しており、再計算が必要な特定の範囲のマクロがあります。しかし、PCをあまり遅くするので、別の範囲が再計算されないことが重要です(Bloomberg Webプラグイン)。マクロ全体の計算を停止するだけでは不十分です。実際には特定の範囲またはシートに結びつける必要があります。リフレッシュから特定の範囲を停止

ここに私のコードは動作しない、これまでのところです:

ActiveSheet.Unprotect 
Range("M1:CV1556").Locked = False 
Range("A13:K1556").Locked = True 
ActiveSheet.Protect 

次のソリューションが可能かもしれない:すべてのWebプラグインを無効にするので、遅いコードの理由でダウンロード、され、新しいデータを防ぎます。しかし、私はVBAでそれを行う方法を知らない。

ご協力いただきまして誠にありがとうございます。

+0

ロックされているのは、保護がアクティブになっている間だけセルに影響します。これらは、リフレッシュとは関係ありません。ロックされていないセルは、シートが保護されていてもロックされたセルは保護されなくても変更可能となる。数式はまだ実行されます。 https://msdn.microsoft.com/en-us/library/office/ff836172.aspx – litelite

答えて

0

以下は、どのAddInsが利用可能であるかを示す例と、それを無効にする方法です。おそらくこれを使用して、別の範囲で更新を実行する前にアドインを無効にすることができます。

Public Sub Addin_Test() 
    Dim myRow  As Long 
    Dim objCOMAddin As Object 

    'Finding Add-Ins, adding to ActiveSheet 
    lngRow = 1 
    With ActiveSheet 
     For Each objCOMAddin In Application.COMAddIns 
      .Cells(lngRow, "A").Value = objCOMAddin.Description 
      .Cells(lngRow, "B").Value = objCOMAddin.Connect 
      .Cells(lngRow, "C").Value = objCOMAddin.progID 
      lngRow = lngRow + 1 
     Next objCOMAddin 
    End With 

    'How to disable an Add in? 
    Application.COMAddIns("Addin ProgID Goes here").Connect = False 
End Sub 
関連する問題