Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


51806 / 76737 ←次へ | 前へ→

【29788】Re:先日教えてもらったコードであらたな...
発言  kobasan  - 05/10/13(木) 18:21 -

引用なし
パスワード
   ▼川崎 さん:
>下記のコードを通信で受け取った情報が変化した時に
>実行するプログラムの書き方を教えてもらえないでしょうか?
>ユーザー側で書き直した時は大丈夫なのですが、
>通信でセル内が変わったときは実行しないようです。
>よろしくお願いします。
>
>Dim Dt1 As Double, Dt2 As Double 'グローバルで宣言(ずっと保持するため)
>  Private Sub Worksheet_Change(ByVal Target As Range)
>    If Target.Address(False, False) = "C6" Then
>      Dt2 = Target.Value '入力された値
>      If Dt1 > 0 Then
>        With Application
>          .EnableEvents = False
>          Target.Value = Dt2 - Dt1
>          .EnableEvents = True
>        End With
>      End If
>      '
>      Dt1 = Dt2
>    End If
>  End Sub


▼川崎 さん 今晩は。

前のスレッドの質問の位置が急に変わったのでとまどっていますが
これは、続きの質問ですから、前の位置の方がいいと思います。

一応、前の質問での対策です。
「外部リンク」が「通信」ということばに変わっているのが微妙ですが。

>すみません、下記のりんさんに教えてもらったコードですが外部リンクで情報をかきなおした時、コードが実行されないのですが?どこを書き直せばよいのでしょうか?
>どなたかご教授お願い済ます。
>Dim Dt1 As Double, Dt2 As Double 'グローバルで宣言(ずっと保持するため)
>  Private Sub Worksheet_Change(ByVal Target As Range)
>    If Target.Address(False, False) = "C6" Then
>      Dt2 = Target.Value '入力された値
>      If Dt1 > 0 Then
>        With Application
>          .EnableEvents = False
>          Target.Value = Dt2 - Dt1
>          .EnableEvents = True

このイベント処理はリンクや関数の変化には対応しないと言うことだと思います。

たぶんC6にリンクを設定しているのだと思いますが、
この辺の細部までは分かりませんが、

対策としてはリンク元がBook2のSheet1のA1だとすると、
リンク元のSheet1シートモジュールに

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Address(False, False) = "A1" Then
    Dt2 = Target.Value '入力された値
    If Dt1 > 0 Then
      With Application
        .EnableEvents = False
        Workbooks("book1").Sheets("Sheet1").Range("C6").Value = Dt2 - Dt1
        .EnableEvents = True
      End With
    End If
    '
    Dt1 = Dt2
  End If
End Sub

を貼り付ける方法があります。
リンク先に考えていたBookのシートモジュールは削除してください。
これはリンクの代わりにVBAで処理しています。

質問に対して見当違いかもしれないけど。
1 hits

【29786】先日教えてもらったコードであらたな疑問が浮かび上がりました。 川崎 05/10/13(木) 17:59 質問
【29788】Re:先日教えてもらったコードであらたな... kobasan 05/10/13(木) 18:21 発言
【29789】Re:先日教えてもらったコードであらたな... 川崎 05/10/13(木) 18:49 質問
【29793】Re:先日教えてもらったコードであらたな... kobasan 05/10/13(木) 19:28 発言
【29827】Re:先日教えてもらったコードであらたな... 川崎 05/10/14(金) 13:59 質問
【29984】Re:先日教えてもらったコードであらたな疑... 川崎 05/10/17(月) 18:37 回答

51806 / 76737 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free