
お世話になっております。
エクセルでセルの左上をクリックし、シート全体を選択して、他のブックに
このシートをコピーアンドペーストしようとすると、
コピー領域と貼り付け領域の形が違うというようなエラーが出て、貼りつける
事ができません。
左上の数字を見ると、片方は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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルで「コピー領域と貼り付け領域の形が違うため、情報を貼り付けることができません」とでます
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
エクセルマクロVBAコピー領域と貼り付け領域の違い
Access(アクセス)
-
-
4
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
5
VBAを何回も作り直して、容量が増えた
Excel(エクセル)
-
6
マクロで貼り付け位置を可変させる方法が知りたいです。
Excel(エクセル)
-
7
エクセル2010・行の挿入貼り付けが出来ません
Excel(エクセル)
-
8
エクセルVBAのIFを使ったコピペ
Excel(エクセル)
-
9
エクセルVBA 複数列をコピーする方法
Excel(エクセル)
-
10
実行時エラー 438になった時の対処法を教えて下さい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 行の連続データを列に参...
-
エクセル:マクロ「Application...
-
エクセルで隣接していない複数...
-
エクセルの2ページ目の作り方
-
エクセルで、選択範囲の数値全...
-
Excelの日付をコピーし、貼り付...
-
エクセルで勝手に「折り返して...
-
Excelに、ダブルクォーテーショ...
-
エクセル→パワポへの貼り付けに...
-
Excel)軽いデーターのはずなの...
-
Excelで、横並べのデータを縦並...
-
エクセル コピーしたデータを1...
-
エクセルでの行数・列数を指定...
-
エクセルのコピペでクリップボ...
-
Excelでコピーした行の挿入を繰...
-
Excel 結合されたセルへの貼り...
-
エクセル コメントごとコピー
-
メールソフト「サンダーバード...
-
エクセルVBAの条件検索方法
-
Activeでないシートへのペースト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル:マクロ「Application...
-
エクセルのアポストロフィを一...
-
Excel 行の連続データを列に参...
-
メールソフト「サンダーバード...
-
エクセルで隣接していない複数...
-
Excelに、ダブルクォーテーショ...
-
エクセルで勝手に「折り返して...
-
エクセルで、選択範囲の数値全...
-
エクセルの2ページ目の作り方
-
エクセルで値だけコピーして背...
-
エクセルでの行数・列数を指定...
-
エクセル 別シートへのコピー...
-
EXCELのオートフィルの設定を変...
-
Excelでコピーした行の挿入を繰...
-
Excelでのコピーしないセルの挿...
-
エクセル コピーしたデータを1...
-
エクセル・数値が変化したらカ...
-
「選択範囲を解除してアクティ...
-
エクセルで「コピーしたセルの...
-
Excel)軽いデーターのはずなの...
おすすめ情報