Page 27 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼二つのセルで Dループ 02/8/30(金) 11:06 ┗Re:二つのセルで よろずや 02/8/31(土) 13:27 ┗ご質問の件 Dループ 02/9/2(月) 16:45 ┗Re:ご質問の件 よろずや 02/9/2(月) 23:45 ─────────────────────────────────────── ■題名 : 二つのセルで ■名前 : Dループ ■日付 : 02/8/30(金) 11:06 -------------------------------------------------------------------------
質問箱V3の時、【11816】で、教えていただいた ダブルクリック貼付けと、最近質問のあったセル交換 のイベントをミックスして、応用したようなものなんですが、 以下のようなことをやりたいので、お願いいたします。 あるセルをあるセルに貼り付けると元あったセルは あるセル範囲に飛ぶ、ということです。 それも二つのセルで行いたいのです。 つまりa1セルをa3に貼り付けるとb1のセルもb3に移り、 もとあったa3(とb3)が指定された領域(たとえばc1からd10) の空白セルに飛ぶというようなことです。 ダブルクリックイベントは一つのセルしか 操作できなくて少し不便です。 よい知恵があれば、お願い致します。 |
>ダブルクリックイベントは一つのセルしか >操作できなくて少し不便です。 一つのセルなら出来るというなら、そのコードを提示してください。 そうすれば、そこにコードを追加するのも簡単でしょう。 |
よろずやさん、こんにちは。 ご質問の件、以下のようなコードです。 1)ダブルクリックでコピー、ペーストを行う Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) If Application.CutCopyMode = False Then Target.Copy Else Me.Paste Application.CutCopyMode = False End If Cancel = True End Sub 2)ダブルクリックでセルを入れ替える Dim r1 As Range 'グローバル宣言 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean) If r1 Is Nothing Then Set r1 = ActiveCell '一つ目セルをセット Application.StatusBar = "コピー元" & r1.Address(False, False) Else If Not r1 Is ActiveCell Then Dim dt1 As Variant 'データ交換用 dt1 = r1.Value '入替 r1.Value = ActiveCell.Value ActiveCell.Value = dt1 End If Set r1 = Nothing 'セル保管解除 Application.StatusBar = False End If '編集はキャンセル Cancel = True End Sub 1)はごんぼほりさんに示していただき、2)は別の方の質問にりんさんが 答えられていたコードです。 これが隣接した二つのセルでできるのか、どうか。まずそれが問題で、できれば 私が質問している内容のものは実現可能と思うんですが。 上記のコードでセル範囲を広げる書き方がわからず困っている というわけです。 |
>上記のコードでセル範囲を広げる書き方がわからず困っている >というわけです。 ヘルプでResizeをご覧下さい。 |