お世話になっております。
エクセルでセルの左上をクリックし、シート全体を選択して、他のブックに
このシートをコピーアンドペーストしようとすると、
コピー領域と貼り付け領域の形が違うというようなエラーが出て、貼りつける
事ができません。
左上の数字を見ると、片方は65536R×256C
もう片方は1048576R×16384C
となっており、明らかにセルの数が違うことが原因なのかなと思ったりもし
ます。
65536R×256Cでマクロを作成してしまっているため(エクセル2003で作成済分)
、もう片方の1048576R×16384Cのエクセルシートを65536R×256Cのセル数に変更する
ことができれば、大変ありがたいです。(現在はエクセル2007です。)
上記のような事は可能でしょうか?
可能であるならば、方法をお教えいただきたく。
よろしくお願いいたします。
なんとかして、以前作成したマクロを使えるように致したいですので。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

解決策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
のようになります。
    • good
    • 1
この回答へのお礼

ありがとうございます。
range("A:Z").copy  ’たとえば最大でもZ列止まりなら。
を参考にマクロを訂正したところ、上手にできました。

お礼日時:2011/12/07 12:39

セル結合があるやセル結合の位置が違う件


貼り付け元でセル結合があり、貼り付け先でセル結合が無い場合も、貼り付け元のシートのセル結合した姿で張り付くようだ。
ーー
違うバージョンのブックの間でのコピー貼り付けが原因だと思う。
両者に差しさわりの無いのは、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の部分を変えて、実行。どうなりますか。
    • good
    • 1
この回答へのお礼

ありがとうございました。
すでに解決済でしたが、勉強になりました。

お礼日時:2011/12/07 12:41

> セルの結合をした記憶はございませんが、勝手に結合されている事があるので


しょうか?


勝手に結合されていることはないと思います。


コピーのコードがどうなっているのかわかりませんが

Cells.Copy

とかになっているのでしたら

セルの指定をRange("A1:IV65536")というような指定にしてみてはいかがでしょう。
    • good
    • 1
この回答へのお礼

ありがとうございました。
おかげざまで、解決いたしました。

お礼日時:2011/12/07 12:40

セルの結合とかしているところがあると、そのようなエラーが出ることがありましたがそういことはありませんか。



セルのコピー貼り付けではなくシートそのものをコピーしてみてはいかがでしょう。

この回答への補足

回答ありがとうございます。
シートそのものをコピーしようとしても、同様のエラーになります。
シート全体におけるセルの数がエクセル2003とエクセル2007で、数が違うから
なのかと思ったりもしております。
セルの結合をした記憶はございませんが、勝手に結合されている事があるので
しょうか?

補足日時:2011/12/05 17:22
    • good
    • 0

貼り付けるときにセルA1に貼り付けてみてはどうでしょうか。


できなかったらすいません。

この回答への補足

ご回答ありがとうごいます。

ただ、同様のエラーメッセージが出て、できないです。

補足日時:2011/12/05 15:31
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで「コピー領域と貼り付け領域の形が違うため、情報を貼り付けることができません」とでます

タイトルどおりです。
全く同じ四角い領域(二つのセルを一つに結合している。それを4~5個)を、別の同じ形のところへ貼り付けようとするのですが、このメッセージが出てできます。それでコピー&ペーストができません。助けてください。
OS=WIN XP SP2
EXEL2000 9.0.2812
です

Aベストアンサー

私もそれで困ったことがあります。
貼り付けようとする側の4~5個を選択するのではなく、該当する範囲の左上の角1個のセルを指定してみてください。

私はそれで解決しました。

Qエクセル2010・行の挿入貼り付けが出来ません

本日、エクセル2010にバージョンアップしました。

今まで2003で、CSVファイルをエクセルで開き、対象の行を選択してコピーし、
同じエクセルの中で開いた他のエクセルの表に挿入貼り付けをしていたんですが、
バージョンアップしてから同じことを行うと、

『コピー領域と貼り付け領域の形が違うため、情報を貼り付けることができません。
情報を貼り付けるには、次のいずれかの操作を行ってください;

・1つのセルをクリックし、貼り付けてみてください
・貼り付け元の形を確かめ、適切な範囲を選択したあと、貼り付けてみてください』

と、出てしまって貼り付けできなくなってしまいました。
対象のセルを選択(例 A1:C14 など)すると挿入できますが、行を選択(例 R14 など)で選択すると上記のエラーになってしまいます。

何か設定の違いなのでしょうか?
どなたか教えてくださると助かります。よろしくお願いします。

Aベストアンサー

Excel2003で作成したファイルは 65536行しかありません。
Excel2013で開いたファイルは 1048576行あります。
列も同様に数が違います。

Excel2010で作ったデータを行列単位でコピーして貼り付けようとすると 領域の
数が合わないので貼り付けられません。範囲選択して貼り付けるか 貼り付け先の
ブックを xlsxファイルに保存し直して再起動してから貼り付けるかのどちらかだ
と思います。

QExcel セル貼り付けができません

Excel2007で、セルをコピーし、貼り付け先のセルで「貼り付け」ボタンを押しても、右クリックしても、図のようになって貼り付けできません。
どうしたら貼り付けできるようになりますか、教えてください、よろしくお願いします。

Aベストアンサー

#2です。
http://oshiete.goo.ne.jp/qa/7495272.html
ですね。
少なくともCtrl+Vで貼り付ける事ができるようですが、コードの記述変更でできるかどうかはわかりません。

それと、記述するコードは
Excel質問掲示板(VBA) [Re[1]: 改行セルの方向の範囲指定]
http://hpcgi1.nifty.com/kenzo30/b_cbbs/cbbs.cgi?mode=al2&namber=13718&no=0&P=R&KLOG=89
こちらの方がお望みに近いのでは?

Qエクセルで、コピー貼り付けができません・・・

エクセル同志で、表中のある部分を他の表中へコピーしたいのですが、「コピー領域とはりつけ領域が違うため情報を貼り付けることができません」とメッセージがでます。いろいろやってみるのですが・・・
教えてください。

Aベストアンサー

もうちょっと書いておきます。ちょっと不親切な回答だったと思うので・・・。
A・Bは、シートではなく、ファイルでは無いですか?

シートとは、左下の方に、初期設定でSheet1・Sheet2、のように名前が付いているものです。
Aのファイルの方は、このシートがいくつか同時に選択されている状態になっているはずです。
これを、一度選択されていないシートを選択するなどすれば、解除されます。

Qエクセル上でセルのコピーペーストが出来ません。。。

エクセル上でセルのコピーペーストが出来ません。。。

どなたかご教示いただけますと助かります

もう何年もエクセルを使用していて始めての経験なのですが
私は毎日仕事でエクセルにて表を作成しております
その作業中に過去と同じデータも頻繁に出てくるのでそういった場合は
いくつかのセルをでコピペして使用してます
(同じフォーマット上に同じセル数で)

ところが最近その作業をする際にコピー元のデータのセルを纏めてコピーして
コピー先に貼り付けようとすると貼り付けの表示が出ず貼り付けが出来くなることが頻発してます

他のソフト(メーラーやメモ帳)や同じエクセル上でもテキストだけのコピペは出来るのですが
セルの貼り付けが出来ないようです

もっと細かく言うと通常はセルをコピーするとその選択中は選択されたセルが点線でくくられ点滅しておりますが一瞬点滅した後通常の状態に戻ってしまいます
ですので選択されていない状態に戻ってしまうので貼り付けが出来ないようです

更に言うとクリップボードを表示すると上記状態にもかかわらず一応ボード上にはコピー選択したセルの内容が書き込まれそれを選択すると一応コピーは出来ますのでなんとか仕事はこなせます

ですが普通のいわゆるセルのコピペが手軽に出来なくて非常に困っております
本当にここ1週間くらいから頻発するようになった不具合です

PC、ソフト再起動後などでは出来たりすることもあり、なんだか設定とかの問題でもないような気がします
もちろんそんな特殊な設定をいじったつもりもありません
一応自動修復というのもかけてみましたが変わりません
なんだかよく分からない状態です

これが出ると作業が全くはかどらなくなりかなり困ってます

ちなみに使用環境はVISTA(BUISINESS)のSP2というOS上でエクセル2003です

どなたたかご教示いただけますと幸いです

宜しく御願い致します

エクセル上でセルのコピーペーストが出来ません。。。

どなたかご教示いただけますと助かります

もう何年もエクセルを使用していて始めての経験なのですが
私は毎日仕事でエクセルにて表を作成しております
その作業中に過去と同じデータも頻繁に出てくるのでそういった場合は
いくつかのセルをでコピペして使用してます
(同じフォーマット上に同じセル数で)

ところが最近その作業をする際にコピー元のデータのセルを纏めてコピーして
コピー先に貼り付けようとすると貼り付けの表示が出ず貼り付けが出来く...続きを読む

Aベストアンサー

>>エクセルでは、特定の操作、たとえばセルを編集モードにしたり、他のアプリケーションなどを操作後に貼り付けようとすると、クリップボードのデータがなくなる(たとえばコピー元のセルが点線で点滅しているのが解除される)仕様になっています。

>というくだりと裏でテレビを付けている状態の関連をもう少し詳しく教えていただけないでしょうか?

私もこのあたりのエクセルの仕様については、詳細な内容について理解してるわけでありませんので参考までに。

エクセルを長年使用してきた経験から言うと、エクセルでコピー後に、エクセル上で特定の操作、代表的にはF2キーやダブルクリックでセルを編集モードにする、あるいは他のアプリケーション(例えばワードなど)でいろいろな編集作業をすると、エクセルに戻って貼り付けを行うと貼り付けができない(コマンドがグレーアウトしている)状態になることを何度も経験しています。

このように、エクセルでは、特定の操作を行ったときにWindowsのクリップボードのデータ(通常のコピーしたデータ)を削除するような仕様になっていると思われます。

同様にテレビ視聴ソフトなどが裏で実行されると、このエクセルが取得したWindowsクリップボードのデータを削除するような操作が実行されるために、ご質問のような現象が発生したものと推定されます。

>>エクセルでは、特定の操作、たとえばセルを編集モードにしたり、他のアプリケーションなどを操作後に貼り付けようとすると、クリップボードのデータがなくなる(たとえばコピー元のセルが点線で点滅しているのが解除される)仕様になっています。

>というくだりと裏でテレビを付けている状態の関連をもう少し詳しく教えていただけないでしょうか?

私もこのあたりのエクセルの仕様については、詳細な内容について理解してるわけでありませんので参考までに。

エクセルを長年使用してきた経験から言うと、エ...続きを読む

QExcel 結合されたセルへの貼り付けについて

Excelにおいて、結合されていないセルのデータ(複数)を一度にコピー&ペーストしようと考えていますが、ペースト先は結合されたセルとなっております。

何かいい対策案はありませんか。

Aベストアンサー

結合セルの大きさはどうなっていますか。
同じサイズなら
最初の結合セルに、#A1 として下方にフィルコピーすると
#A1
#A2
#A3
#A4
#A5


というようになります。
範囲選択状態のまま、編集メニューの「置換」で
#

=
に、「すべて置換」ればセル参照式になります。
続けて、範囲選択状態のまま、コピーして
その場で「形式を選択して貼り付け」の「値」で貼り付けます。

Qフィルタしたセルのコピーをフィルタしたセルに貼り付けたい

タイトルの通りなのですが、フィルタしたセルをコピーし、別シートのフィルタしたセルに貼り付けたいのですが、
別シートに貼り付けた時見えなくなっているセルにもコピーデータが張り付いてしまいます。

上手い方法がありますでしょうか?

Aベストアンサー

Ctrlキーを使用すれば、できますよ。
(例)
Aシートのコピーしたい部分を選択し、Ctrl+右クリックショートカットからコピーをクリックします。
Bシートの貼り付けたい部分にカーソルを持っていき、Ctrl+貼付…

これでできませんかね…ご要望と違う内容でしたらすみません。

Qエクセル セルのコピーができない。

エクセルでセルをコピー&貼付けがうまくできなくなりました。
セルをコピーしてもテキストしか認識されずに、貼り付けるとセルの書式設定等は全くついてきません。
また、行や列毎コピーして挿入することもできなくなりました。
形式を選択して貼り付けを選択すると、Unicodeテキストかテキストの2つから選ぶ画面しか出てこず、
通常の値、数式、書式設定等を選ぶ画面も出てきません。

とくに何かエクセルの設定を変えた覚えはないので、なぜこうなったのかわかりません。

どうしたら、通常のセルのコピーができるようになりますでしょうか。

Aベストアンサー

下記のページが参考になります。
スカイプを使用しているとそうなるようです。

突然、Excel シートにデータを貼り付けると、書式など反映されず、テキストのみでしか貼り付けが出来なくなった
http://answers.microsoft.com/ja-jp/office/forum/office_2010-excel/%E7%AA%81%E7%84%B6excel/60be2399-7250-4689-bd81-a9d3d0a8738d

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセル マクロ実行時エラー’1004’

For~Next構文内でシートコピーしていると途中で、
実行時エラー'1004’
WorksheetクラスのCopyメソッドが失敗しました。
が表示されることがあります。

該当のFor~Next文は10回以上実行されているので、コードの誤りではないと思うのですが、なぜ「Copyメソッドが失敗」するのかわかりません。
理由/対処方法がわかればありがたいと思い質問させていただきます。

**該当コード**
Sub 評価シート作成()
  Sheets(社員一覧).Select
  行 = 1
  Do
    ReDim Preserve 社員CD(行)
    ReDim Preserve 氏名(行)
    社員CD(行) = Cells(行 + 1, 1).Value
    氏名(行) = Cells(行 + 1, 2).Value
    行 = 行 + 1
  Loop Until Cells(行, 1) = ""
  人数 = 行 - 2
  For 回数 = 1 To 人数
    Sheets(評価シート).Select
    Sheets(評価シート).Copy after:=Sheets(評価シート)
    ActiveSheet.Name = 氏名(回数)
    Cells(4, 5) = 氏名(回数)
    Cells(4, 3) = 社員CD(回数)
  Next 回数
End Sub
*****************************
よろしくお願いします

For~Next構文内でシートコピーしていると途中で、
実行時エラー'1004’
WorksheetクラスのCopyメソッドが失敗しました。
が表示されることがあります。

該当のFor~Next文は10回以上実行されているので、コードの誤りではないと思うのですが、なぜ「Copyメソッドが失敗」するのかわかりません。
理由/対処方法がわかればありがたいと思い質問させていただきます。

**該当コード**
Sub 評価シート作成()
  Sheets(社員一覧).Select
  行 = 1
  Do
    ReDim Preserve 社員CD(行)
   ...続きを読む

Aベストアンサー

ひょっとしてこれに該当するのかな?

Excel でプログラムを使用してワークシートをコピーするとランタイム エラー 1004 が発生する
http://support.microsoft.com/kb/210684/ja


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報