2016-06-29 5 views
0

2つのワークシートがあります。再計算する前に数式バーをクリックしてEnterキーを押す必要があります

ワークシート1:素敵な本

  • 行1のような行を使用してデータを置く:5 < - このデータは、シートから来て2
  • 行2:4 < - このデータは、シート2
  • から来ています
  • Row3:2 < - このデータはシート2からのものです。
  • Row4:=(Row1 + Row2 + Row3)/ 3 < - 上記のセルからの簡単な計算。

私はこのエラーが発生したときは、完全に動作し、実行

Private Sub Worksheet_Change(ByVal Target As Range) 

    If IsError(Cells(139, 8).Value) Then 
    Call Sheet1.HideCharts 
    End If 

End Sub 

マクロ私は= 5行1(エラーを与える)/ 0、HideChartsマクロランを置く場合。

ただし、 データはワークシート2からのものであり、このデータはキューブ(データベース)からのものであり、そのデータが何も変化しない場合、#REF!私が理解しているのはエラーですが、マクロは実行されません。何が間違っているのですか?あなたが私の質問を理解することを願っています

  • 編集:実際にはマクロがセミランダであることがわかりました。しかし、私はセルをダブルクリックしてEnterキーを押すだけで、それが有効になります。
+0

は、どのようにデータが変更されましたか?それは再計算される式ですか、別のマクロによって設定された値ですか? – RGA

+0

私はデータは、それがその後、あるデータベースからインポートされたシート2は、シート1にきれいに入れて持っており、このデータから、私は 行1持っている:5 < - これら 行2によって引き起こさ:3 < - これらによって引き起こされます ROW3:4 < - これら 平均によって引き起こさ:=(5 + 3 + 4)/ 3 < - これが変化したとき - マクロ –

+0

あなたは私が手動で変更された場合に動作し、あなたの問題の行〜を明確化や手の込んだを実行しますセルのデータは、しかし、私は手動でデータを変更しないでください。 ' – skkakkar

答えて

0
Private Sub Worksheet_Calculate() 

End Sub 

またはあなたが結果をチェックしている式の方法で、ヴァルスへの変更をチェックすることができますが、多分

関連する問題