現在選択されているセルを離れずにデータをコピーする(Microsoft Excel)
アンリは、ワークシートの現在の位置を離れることなく、ソースセルに含まれるデータを宛先セルにコピーしたいと考えています。
つまり、現在の位置をV104のままにせずに、セルA1からセルAE459にコピーしたいと考えています。彼はそのような編集さえ可能かどうか疑問に思います。
もちろん、これに対する明らかなアプローチは、数式= A1をセルAE459に単純に入れることです。次に、Excelは2つのセルが等しいことを確認します。ワークシートで2番目のウィンドウを開いて、そのウィンドウ内のコピーを処理することもできます。元のウィンドウで選択されたセル(セルV104)は変更されません。
ただし、実際に「コピー」操作を実行する場合は、2番目のウィンドウを開かずに、マクロを使用する必要があります。
マクロ内のあるセルから別のセルへのコピーはかなり簡単です。たとえば、次の例では、現在選択しているセルに影響を与えることなく、セルA1の内容をAE459にコピーします。
Sub CopyCell1() ' Copy the cell value to destination cell Range("AE459") = Range("A1") End Sub
セルA1にある数式をコピー先にコピーする場合は、コピーの実行方法を変更する必要があります。具体的には、宛先範囲をパラメータとして使用するCopyメソッドを使用する必要があります。
Sub CopyCell2() ' Copy the relative formula to destination Range("A1").Copy Range("AE459") End Sub
もちろん、これらのマクロの欠点は、静的であるということです。つまり、セルA1からセルAE459にのみコピーします。コピーのニーズが異なる可能性がある場合は、VBエディターの[イミディエイト]ウィンドウでタスクを実行することを検討してください。エディターをポップして開き、適切なマクロから1行をウィンドウに入力するだけです。その後、コピーが完了し、選択したセルに影響を与えることなく、エディターを閉じることができます。
マクロのソースと宛先に少し柔軟性を与えるもう1つの方法は、マクロ(マクロ)でユーザーにソースと宛先の入力を求めることです。次のマクロはこのアプローチを採用しています。
Sub CopyCell3() Dim SrceCell As String Dim DestCell As String SrceCell = InputBox("Copy From Cell ...") DestCell = InputBox("Copy To Cell ...") Range(DestCell) = Range(SrceCell) End Sub
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(9949)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。