- 締切済み
<新規Bookに アクティブセル領域を 値で貼り付けるマクロ>
<新規Bookに アクティブセル領域を 値で貼り付けるマクロ> 沢山の様々なデータが入力されている、巨大なExcelファイル(仮に「管理表.xls」)があるのですが ボタンを押すと、アクティブなセル領域(ドラッグで選んだセル領域)を 新規Bookに値で貼り付ける マクロを作成したいのにうまく動きません 下記コードだと、新規Book作成までは出来るのですが、 ペーストがされません。クリップボードにはデータが入るのですが 「管理表.xls」を全て選択された情報が入ってしまっています。 (ペーストすると 全データがペーストされる) マクロは始めたばっかりで ものすごく初心者なので恐縮なのですが ご教授ください。よろしくお願いします。 --------------------------------------- Private Sub CommandButton2_Click() Selection.CurrentRegion.Copy 'アクティブセル領域をコピー Workbooks.Add.Activate 'ブックを新規作成してアクティブに Range("A1").PasteSpecial Paste:=xlPasteValues End Sub ---------------------------------------
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- mt2008
- ベストアンサー率52% (885/1701)
アクティブ領域とは、選択されているセル範囲ではなく、データがあるエリアを指します。 選択範囲だけで良いなら Selection.Copy です。 このマクロはワークシートに書いてありますよね。 ワークシートで単にRange("A1")と書いた場合、それはアクティブなブックやシートのRange("A1")ではなく、マクロが書いてあるシートのRange("A1")になります。従って、ペーストしていないのではなく、自分自身にペーストしています。 以下の様に直して見ました。 Private Sub CommandButton2_Click() Selection.Copy '選択範囲をコピー Workbooks.Add.Activate 'ブックを新規作成してアクティブに Selection.PasteSpecial Paste:=xlPasteValues 'アクティブなブックのシートにペースト End Sub