Excel VBA質問箱 IV

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

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


47866 / 76732 ←次へ | 前へ→

【33811】Re:二つのセル
発言  ichinose  - 06/1/21(土) 9:42 -

引用なし
パスワード
   Gロボさん、inoue さん、おはようございます。

考え方としては、どこかにセルA1のコピーを常に持っていると
この処理はできます。
では、そのコピーをどこに持つか? ですが、

・別のシートの同じアドレスを持つセル
 これが確実なんですが、この処理のためにテンポラリシートを
 用意しなければなりません。

・Excel2000以上ですが、IDというプロパティを使用する。
 本来のIDプロパティの使用方法とは違いますが、
 領域がリザーブされているので使えそうです。
 

当該シートのモジュールに
'=======================================================
Sub init_id()
  With Range("a1")
    .ID = .Value
    End With
End Sub
'=======================================================
Private Sub Worksheet_Change(ByVal Target As Range)
  Application.EnableEvents = False
  If Not Application.Intersect(Target, Range("a1")) Is Nothing Then
    With Range("a1")
     .Offset(1, 0).Value = .ID
     .ID = .Value
     End With
    End If
  Application.EnableEvents = True
End Sub


最初に一度だけ、init_id を実行してから試してみて下さい。

但し、このIDプロパティは、ブックを保存しても
このプロパティは再度開いたときは、初期化されています。

よって、開く度に一度、init_idを実行して
データを同期させなくてはなりません。
通常は、Workbook_Openイベント等で実行することになります。

確認してみて下さい。

0 hits

【33807】二つのセル Gロボ 06/1/21(土) 6:09 質問
【33809】Re:二つのセル inoue 06/1/21(土) 8:42 発言
【33811】Re:二つのセル ichinose 06/1/21(土) 9:42 発言
【33813】Re:二つのセル bykin 06/1/21(土) 14:45 回答
【33820】Re:二つのセル ichinose 06/1/21(土) 16:03 お礼
【33826】Re:二つのセル Gロボ 06/1/21(土) 18:06 質問
【33828】Re:二つのセル [名前なし] 06/1/21(土) 18:52 発言
【33835】Re:二つのセル Gロボ 06/1/21(土) 22:21 お礼

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