Excel VBAに関する質問掲示板です。
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を教えてください。
あらかじめポイントしたセルに、シート内のある領域のデータをコピーする方法を教えてください。
例
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イベントで、任意のセルに貼り付ける
※「セルをクリックした」というタイミングがつかめないので、
「カーソルの位置がセルに移動した」というタイミングをつかむ
④貼り付けた後、コピーモードを解除
(手作業でコピーをした時に点で囲まれる状態を解除する)
①~④について、ネットで調べてみて下さい。
■[質問] whitemistさん(2021-01-05 01:28:39)の記事
> あらかじめポイントしたセルに、シート内のある領域のデータをコピーする方法を教えてください。
>
> 例
> C4:X4 にデータが書かれています。
> 任意のセルをクリックします。
> このセルを先頭にして、C4:X4のデータを貼り付けます。
>
> これを実現するVBAを教えてください。
人間には、コピーと言えば伝わる事でも、
コンピュータには伝わらない事があります。
VBAの前に、まず考えることがあります。
Excelでの手作業を考えてください。
範囲を選択して「コピーという指示」をコンピュータに与える
そして、貼り付けたい位置を指定して、「貼り付けという指示」を与える
という、2段階で指示しますよね。
当然、VBAで記述する時も、この2段階で指示します。
【不明点】
・C4:X4をコピーするタイミングは、いつですか?
【決める事】
・メモリに一時記憶させるタイミングを定義する。
【解決策】
①コピーをさせるためのボタンを作成
②ボタンをクリックした時に、指定の範囲(C4:X4)をコピー
(手作業でコピーをした時に点で囲まれる状態にする)
③WorksheetのSelectionChangeイベントで、任意のセルに貼り付ける
※「セルをクリックした」というタイミングがつかめないので、
「カーソルの位置がセルに移動した」というタイミングをつかむ
④貼り付けた後、コピーモードを解除
(手作業でコピーをした時に点で囲まれる状態を解除する)
①~④について、ネットで調べてみて下さい。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
返信入力フォーム
( 処理日時 : 2021-01-27 12:08:43 )