
お世話になっております。
エクセルでセルの左上をクリックし、シート全体を選択して、他のブックに
このシートをコピーアンドペーストしようとすると、
コピー領域と貼り付け領域の形が違うというようなエラーが出て、貼りつける
事ができません。
左上の数字を見ると、片方は65536R×256C
もう片方は1048576R×16384C
となっており、明らかにセルの数が違うことが原因なのかなと思ったりもし
ます。
65536R×256Cでマクロを作成してしまっているため(エクセル2003で作成済分)
、もう片方の1048576R×16384Cのエクセルシートを65536R×256Cのセル数に変更する
ことができれば、大変ありがたいです。(現在はエクセル2007です。)
上記のような事は可能でしょうか?
可能であるならば、方法をお教えいただきたく。
よろしくお願いいたします。
なんとかして、以前作成したマクロを使えるように致したいですので。
No.4ベストアンサー
- 回答日時:
解決策1(推奨):
貼り付け先ブック(マクロが登録してある方)を,名前を付けて保存でファイルの種類を「Excelマクロ有効ブック」に変えて保存する
ファイル名が「今のブック名.xlsm」に変わるので,今のマクロを修正する
解決策2:
「シートの全部のセルをコピーする」のと「シートをコピーする」のでは,まったく意味が違います。
新しいマクロの記録を開始する
コピー元のブックを開き,
シート名タブを右クリックして「移動コピー」を開始し
コピーにチェックを入れ
移動先ブック(マクロブック)を指定してOKする
記録されたマクロを編集し,コピー元ブックをgetopenfilenameで指定できるように修正する。
解決策3:機能が劣るためあまりお奨めしません
そもそも「全セルを選んでコピー貼り付ける」なんて乱暴なことをしているので,失敗します。
コピー元がどんな大きさなのか不明なのは勿論仕方がないことですが,せめて「大体この範囲」みたいなのをつかんで仕事をしてもバチは当たりません。
もしもそれで,実際にコピー元が「IV列よりも右にはみ出して確かにデータがある」と確認できたのでしたら,それはもう今の256列のマクロブックじゃそもそも納まらないってことです。その時は解決策1に移行するしかありません。
作成例:
sub macro1()
dim myFile
myfile = application.getopenfilename()
if myfile = false then exit sub
workbooks.open filename:=myfile
range("A:Z").copy ’たとえば最大でもZ列止まりなら。
thisworkbook.activate
range("A1").select
activesheet.paste
end sub
どーしても「全部のセル」を指定したくてしたくてシカタないなら,
range("A:IV").copy
のようになります。
ありがとうございます。
range("A:Z").copy ’たとえば最大でもZ列止まりなら。
を参考にマクロを訂正したところ、上手にできました。
No.5
- 回答日時:
セル結合があるやセル結合の位置が違う件
貼り付け元でセル結合があり、貼り付け先でセル結合が無い場合も、貼り付け元のシートのセル結合した姿で張り付くようだ。
ーー
違うバージョンのブックの間でのコピー貼り付けが原因だと思う。
両者に差しさわりの無いのは、xlsの方のシートの最大行数x最大列数でコピーして(Cellsにしない)、2007の方で貼り付け先シートの基点セル(左上隅のセルを)A1セルにして、旨く張り付きませんか。
ーー
自信はないが、UsedRangeを使うことで、互換性は無いかな。
テストできてないのですが。
Sub test02()
Set dest = Workbooks.Open("XXX.xls") 'コピー先のブック
Windows("Book1").Activate ' 保存前のブックの場合
ActiveWorkbook.Worksheets("Sheet1").UsedRange.Copy dest.Worksheets("Sheet1").Range("A1")
End Sub
保存してあるブックなら、そのブックを開いておいて、そのウィンドウのタイトル名にWindows("Book1").ActivateのBook1の部分を変えて、実行。どうなりますか。
No.3
- 回答日時:
> セルの結合をした記憶はございませんが、勝手に結合されている事があるので
しょうか?
勝手に結合されていることはないと思います。
コピーのコードがどうなっているのかわかりませんが
Cells.Copy
とかになっているのでしたら
セルの指定をRange("A1:IV65536")というような指定にしてみてはいかがでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Excel(エクセル) エクセルの表示形式について教えてください あるセルの「A」という値と、別のセルの「B」という値を組み 4 2023/02/21 21:55
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) excel 1行の横セル内容を表を 2行に分割コピーする方法 教えてください 6 2023/06/25 10:10
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルで「コピー領域と貼り付け領域の形が違うため、情報を貼り付けることができません」とでます
Excel(エクセル)
-
エクセルマクロVBAコピー領域と貼り付け領域の違い
Access(アクセス)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
5
VBAを何回も作り直して、容量が増えた
Excel(エクセル)
-
6
'Range'メソッドは失敗しました
Excel(エクセル)
-
7
excelVBAの実行時エラー'1004'が出ました。
Excel(エクセル)
-
8
エクセルの関数 ENTERを押さないと反映されない。
Excel(エクセル)
-
9
Excel2016 まとめてのコピペができない時があります
Excel(エクセル)
-
10
マクロで貼り付け位置を可変させる方法が知りたいです。
Excel(エクセル)
-
11
エクセルで複数列を1列にまとめるマクロ
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのアポストロフィを一...
-
エクセル:マクロ「Application...
-
【マクロ】オートフィルターの...
-
エクセルで隣接していない複数...
-
エクセルの2ページ目の作り方
-
「選択範囲を解除してアクティ...
-
前月の統計表の計算式を残した...
-
Excel 行の連続データを列に参...
-
Excelでコピーした行の挿入を繰...
-
エクセルで値だけコピーして背...
-
エクセルで、選択範囲の数値全...
-
Excelの日付をコピーし、貼り付...
-
メールソフト「サンダーバード...
-
エクセル コメントごとコピー
-
ホームページにある表の1列を...
-
エクセルの表の中身の文字をを...
-
Excel VBA 以下のメッセージが...
-
エクセルでHTMLファイルを文字...
-
サイズの異なる結合セル間での...
-
Excelに、ダブルクォーテーショ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル:マクロ「Application...
-
エクセルのアポストロフィを一...
-
エクセルで勝手に「折り返して...
-
エクセルで隣接していない複数...
-
メールソフト「サンダーバード...
-
【マクロ】オートフィルターの...
-
エクセルの2ページ目の作り方
-
Excel 行の連続データを列に参...
-
エクセルで、選択範囲の数値全...
-
エクセル 別シートへのコピー...
-
「選択範囲を解除してアクティ...
-
Excelに、ダブルクォーテーショ...
-
エクセルで値だけコピーして背...
-
エクセルで「コピーしたセルの...
-
EXCEL数値が存在する列の項目名...
-
エクセル コピーしたデータを1...
-
行数の違う表に複数行をコピーする
-
EXCELで「行と列を入れ替える」...
-
エクセルでの行数・列数を指定...
-
エクセル・数値が変化したらカ...
おすすめ情報