Excel VBA 質問スレッド No.155 (未解決)

EXCEL VBA 任意の場所にコピーする方法

投稿者 : whitemist     投稿日時 : 2021/01/05(Tue) 01:28:39     OS : Windows 10     EXCEL : Excel 2013
あらかじめポイントしたセルに、シート内のある領域のデータをコピーする方法を教えてください。


C4:X4 にデータが書かれています。
任意のセルをクリックします。
このセルを先頭にして、C4:X4のデータを貼り付けます。

これを実現するVBAを教えてください。

[返信 1] Re : EXCEL VBA 任意の場所にコピーする方法
投稿者 : ヘンリー     投稿日時 : 2021/01/06(Wed) 13:40:23
■[質問] whitemistさん(2021-01-05 01:28:39)の記事
> あらかじめポイントしたセルに、シート内のある領域のデータをコピーする方法を教えてください。

> 例
> C4:X4 にデータが書かれています。
> 任意のセルをクリックします。
> このセルを先頭にして、C4:X4のデータを貼り付けます。

> これを実現するVBAを教えてください。


人間には、コピーと言えば伝わる事でも、
コンピュータには伝わらない事があります。
VBAの前に、まず考えることがあります。

Excelでの手作業を考えてください。
範囲を選択して「コピーという指示」をコンピュータに与える
そして、貼り付けたい位置を指定して、「貼り付けという指示」を与える
という、2段階で指示しますよね。
当然、VBAで記述する時も、この2段階で指示します。

【不明点】
・C4:X4をコピーするタイミングは、いつですか?

【決める事】
・メモリに一時記憶させるタイミングを定義する。

【解決策】
①コピーをさせるためのボタンを作成
②ボタンをクリックした時に、指定の範囲(C4:X4)をコピー
 (手作業でコピーをした時に点で囲まれる状態にする)
③WorksheetのSelectionChangeイベントで、任意のセルに貼り付ける
 ※「セルをクリックした」というタイミングがつかめないので、
  「カーソルの位置がセルに移動した」というタイミングをつかむ
④貼り付けた後、コピーモードを解除
 (手作業でコピーをした時に点で囲まれる状態を解除する)

①~④について、ネットで調べてみて下さい。

当掲示板について
返信入力フォーム
お 名 前  :
内  容   :
ステータス  : この質問を解決済みにする

認証コード  :
        キャプチャ画像


( 処理日時 : 2021-01-27 12:08:43 )

Page
Top