お世話になっております。
エクセルでセルの左上をクリックし、シート全体を選択して、他のブックに
このシートをコピーアンドペーストしようとすると、
コピー領域と貼り付け領域の形が違うというようなエラーが出て、貼りつける
事ができません。
左上の数字を見ると、片方は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と関連する良く見られている質問

Qphotoshopを使ってA4→B5へ

photoshopを使用して、A4サイズをB5サイズに縮小したいです。
試しに300dpiでA4、B5のキャンバスを作り、A4をB5に合わせて
縮小したところ、7~9px程のずれが出ました。
A4とB5は等倍と思っていましたが違うのでしょうか?
ぴったりのサイズに縦横等倍で縮小する事は不可能でしょうか。
よろしくお願いします。

Aベストアンサー

画像解像度にもよりますが7~9ピクセルのズレだったら気にしなくてもいいと思います。

それでもキリを良くしたいのなら添付画像の赤丸の部分のチェックを全て外して
黄丸の箇所にB5の数値を入れればいいです。※単位を間違えないように。
A4をB5にするくらい(つまり、縮小する)だったら元絵を大きく崩さずに変形させられます。

ただそれでも、本来ピクセルはインチ計算ですから「mm」に置き換えた時点で小数点が出ます。
つまりはどうやってキリが良くはなりません。数ピクセルの誤差と同じです。
「ぴったりのサイズ」にはなりません。

---

ついでに、A列とB列は比率は同じです。
ただ、サイズ表に書かれている寸法数字は端数を切り捨ててたものです。
例えば「257mm」は「実際には257.5mm」です。
そうやって端数を切り捨てて小さなサイズを作ってきましたから
どこかで細かく比率が変わっているのは当然です。
が、それで今まで何十年も過ぎてきたのですから、それくらいは無視していいものです。
そう考えると300dpiの書類で7~9ピクセルのズレも問題にはならないと思います。
もともとがそれくらいアバウトなんですから。

画像解像度にもよりますが7~9ピクセルのズレだったら気にしなくてもいいと思います。

それでもキリを良くしたいのなら添付画像の赤丸の部分のチェックを全て外して
黄丸の箇所にB5の数値を入れればいいです。※単位を間違えないように。
A4をB5にするくらい(つまり、縮小する)だったら元絵を大きく崩さずに変形させられます。

ただそれでも、本来ピクセルはインチ計算ですから「mm」に置き換えた時点で小数点が出ます。
つまりはどうやってキリが良くはなりません。数ピクセルの誤差と同じです。
「ぴ...続きを読む

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

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

Aベストアンサー

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

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

Q2台のPCを接続し、A4のモニタを使い、B5のキーボードを使うのは可能?

現在ノートPCを2台持っています。
1台はA4.もう1台はB5です。
A4の方はキーボードが壊れていますので、普段はB5を使っています。でも画面が小さいのでA4を使いたいです。

そこで思ったのが、B5とA4をつないで、キーボードはB5を使って、モニタはA4を使えないのでしょうか?

そこまで可能なら、キーボードも外付けを買おうかと思っています。

まず可能なのでしょうか?

宜しくお願いします

Aベストアンサー

MAXIVISTAというソフトがあります。
これを使えばLAN経由で可能です。
私は,ノートPCのモニターをデスクトップPCのセカンダリーディスプレイとして使っています。
パソコンのリモートコントロールモードもありますので,お持ちの2台のパソコンは同時に使えるようになると思いますよ。

参考URL:http://www.maxivista.com/

QVBA コピーモード中の左上隅セルを、画面の左上の位置にスクロールした

VBA コピーモード中の左上隅セルを、画面の左上の位置にスクロールしたい!


Windows XP Home Edition
SP3
Office XP Personal 2002
Excel 2002

「 現在、コピーモード中になってる左上隅セル ( A20 ) 」 の 「 3つ上のセル ( A17 ) 」を
Window画面の左上の位置に、スクロールしたいのですが、どおすればよろしいでしょうか?

何卒、ご教示のほどをお願い致します。

Sub スクロール()
 Range(A20:B30).Copy
 Application.Goto reference:=ActiveWindow.Range(VisibleRange.Item(1).Address), Scroll:=True
End Sub

Aベストアンサー

Gotoメソッドが出てますので、もっと単純に考えましょう。

Goto(移動先,スクロールの有無)

ですが、移動先はRangeオブジェクトでもかまいません。ですので、OffsetプロパティーとWithステートメントを追加すると以下のような構文で解決可能です。

With [コピー範囲]
 .Copy
 Application.Goto .Cells(1).Offset(-3,0), True
End With

[コピー範囲]は任意のRangeオブジェクトにしてくださいね。質問文の場合だと
With Range("A20:B30")
になります。


キーポイントは.Cells(1)と.Offset(-3,0)になります。
.Cells(1)というのはWithで指定したセル範囲の左上のRangeオブジェトを返すものです。
.Offset(-3,0)は指定したセルから指定したセル移動した先のRangeオブジェクトを返すものです。
Offset(行移動数,列移動数)と指定します。今回は上に3個なので(-3,0)です。

Offsetプロパティーは良く使うので覚えておくとすごく役に立つでしょう。

Gotoメソッドが出てますので、もっと単純に考えましょう。

Goto(移動先,スクロールの有無)

ですが、移動先はRangeオブジェクトでもかまいません。ですので、OffsetプロパティーとWithステートメントを追加すると以下のような構文で解決可能です。

With [コピー範囲]
 .Copy
 Application.Goto .Cells(1).Offset(-3,0), True
End With

[コピー範囲]は任意のRangeオブジェクトにしてくださいね。質問文の場合だと
With Range("A20:B30")
になります。


キーポイントは.Cells(1)と.Offset(-3,0)になります。
....続きを読む

QA4からB5へ

Word2003を使って書いたA4サイズの文章を、B5の用紙に印刷したいのです。
けれども、ページ設定でB5を選択して印刷すると、文章がA4サイズのままでB5用紙に印刷され、文字が足りなくったりして、きちんと印刷できません。
なんとかしたいのですが。

Aベストアンサー

特に変更しないのなら、#1さんもおっしゃるように印刷時にA4→B5に縮小するのが簡単です。
まあ、A4で印刷したものを縮小コピーするようなものです。
http://kokoro.kir.jp/word/sprint.html

今後も継続的に利用したり、内容を更新するなら、B5に合わせてレイアウトを変更し直さなければなりません。

参考URL:http://kokoro.kir.jp/word/sprint.html

Qエクセルのセル内の左上の三角形

お世話になります。

数字と文字が混じっているのをソートしたいのですが,うまくできていません。
ソートするところを文字列に設定をしています。
セルを見ると,同じ1でも,セルの左上に黒い三角形があるのとないのがあるためにうまくソートができません。
その三角形は「数値をテキスト形式か,アポストロフィで始まっています」というコメントがでます。

この三角形をすべてに付けるか,なくす方法が分かればできそうです。ご教授お願いします。

Aベストアンサー

Excelのヘルプより
「バックグラウンドでエラー チェックを行う オンにすると、Microsoft Office Excel はアイドル時にセルのエラーをチェックします。セルにエラーが発見された場合は、セルの左上隅に緑色のインジケータが表示されます。 」

三角形とはこのインジケータのことだと思われます。
これを解除するには
ツール→オプション→エラーチェックのタブで
ルール:「文字列として保存されている数値」のチェックをはずせばOKです。

セル1個づつ、エラーを解除する場合は
インジケータのあるセルをポイントし、
「!」のマークが表示されるのでクリック
「エラーを無視する」を選択すればOKです。

Qワード文書 B5→A4変換

B5で作成したMS Wordの資料を A4に一括で変換する方法はありますでしょうか?
文字と図が含まれておりますので自動的に、大きくしてくれる仕組みを想像してます。
もともとB5サイズで作成した資料が多数あるのですが、毎回B5用紙を用意するのが煩わしいので一括でA4にサイズ変更したい次第です。

Aベストアンサー

> B5で作成したMS Wordの資料を A4に一括で変換
基本的にできないことだと思ってください。

Wordでは指定した用紙サイズに配置するものであって、配置したものを
自動でサイズ変更するようなものではないからです。文字サイズから、
図のサイズおよび配置などは、Wordの基準であるページ(段落の位置)
の左上の位置からの距離で指定されているといえるからです。

A4用紙に変更するということは、拡大率に応じたフォントサイズの拡大
及び、図などの位置の修正が必要になります。
個々に修正することになるので、大変な作業になります。
マクロで処理するにしても、様々な要素があるWord文書は複雑であり、
無茶な処理といえるからです。

資料が印刷を目的にするだけなら、印刷用マクロを用意するか、PDFに
変換しておいて、そのPDFファイルを印刷するほうが効率的です。
https://msdn.microsoft.com/ja-jp/library/office/ff837331.aspx

マクロの例:

Sub PrintZoomPaper_A4()
'
' A4サイズに拡大して印刷
'
  ActiveDocument.PrintOut _
  PrintZoomPaperWidth:=11907, _
  PrintZoomPaperHeight:=16839

End Sub

> B5で作成したMS Wordの資料を A4に一括で変換
基本的にできないことだと思ってください。

Wordでは指定した用紙サイズに配置するものであって、配置したものを
自動でサイズ変更するようなものではないからです。文字サイズから、
図のサイズおよび配置などは、Wordの基準であるページ(段落の位置)
の左上の位置からの距離で指定されているといえるからです。

A4用紙に変更するということは、拡大率に応じたフォントサイズの拡大
及び、図などの位置の修正が必要になります。
個々に修正することになるので...続きを読む

Qエクセルのセルの左上隅につく緑色の三角形は何の意味?

エクセルのセルの左上隅につく緑色の三角形は何の意味でしたでしょうか。(良く調べずに質問しており申し訳ありません。)

Aベストアンサー

エラーインジケータです。

[ツール]-[オプション]-[エラーチェック]を参照してください。

QCanon LBP3970のB5サイズのプリント速度がA4サイズに比べて落ちることについて

 キヤノンのLBP3970(A4サイズのプリント速度:35枚/分)の購入を検討しているのですが、B5サイズにプリントするとA4サイズと比べて、紙がA4に比べて小さいので熱による故障を防ぐためにスピードを落とすようになっていると聞いたのですが、どなたか持っている方、B5サイズの10枚以上連続印刷したときにA4に比べてどのように変わるか知っている方、または試していただける方、教えてください。

 B5の印刷を多く行うのでA4の速度が速いだけでB5の速度が落ちるようであれば高速なプリンタを買っても意味がありません。どなたか協力していただける方、回答をお願いします。

Aベストアンサー

プリンタの修理屋です。

この辺りは詳細には伝えられていませんし、機械内部の温度状況によって対応していますので、一概にどのくらい落ちるかは分かりません。

取説によると、最終的には1.9枚/分程度まで落ちることになっています。

このプリンタに限らず、キヤノンのレーザープリンタでは特殊なフィルムを使った定着方法を使っています。大昔はSURF方式、最近はオンデマンド定着と呼んでいます。

普通の定着器ではアルミのパイプ(ローラー)の中にガラス管ヒーターを仕込んで、それを発熱させてアルミローラーの表面温度を上げ定着しています。
しかしながら、ヒーターと定着するローラーの表面の間に1cm+αの空間ができ、そこは輻射で伝わります。結果的にヒートアップに時間がかかる、大きな容量のヒーターが必要となったわけです。

そこでキヤノンは薄い特殊なフィルムのチューブの中にセラミックヒーターを仕込み、フィルム越しにほぼ直接紙を加熱するようにしました。
その結果、ヒーターの容量も小さくでき、立ち上がりの時間もゼロと言う機種が出来ました。

欠点もあります。
昔はフィルムのチューブを回転させると軸方向にずれてきて、フチが破れることがありました。このため高速化では少し遅れました。
もう一つは、紙に接することでヒーターの熱が奪われるため、ヒーターの温度変化が大きいこと。
特に幅の狭い厚紙を印刷すると、両端は浮いた形になり、熱が逃げないのですが、中央部分は用紙に接しているので温度が下がります。
温度ムラが出来て、伸縮差もでき、紙にある程度の圧力で押し付けられているので、セラミックヒーターが折れてしまうことがあります。

高速化し始めた頃の機種では時々発生していました。

速度を上げると、表面温度を上げるためにヒーターには大きな電流を通す必要があり、ヒーターの温度も上がります。
速度を下げると表面温度が低くても定着ができるようになります。
また、印刷の間にインターバルを取ってヒーターを均一に冷却することも出来ます。

その辺りの温度ムラをセンサで感知して速度を落としますので、実際は分からないというのが真実です。

ただ、昔の機種(LBP-1820)ではいきなり半分くらいの速度になりましたが、LBP3970では35→30→25→20・・・・と段階的に落としていきますので、10枚くらいでは大きな落ち込みも無いとは思います。


「そんな面倒なシステムを・・・・」と思われるかも知れませんが、省エネ効果と待ち時間が少なくなることは大きな要素ですし、役所を中心にA4、A3に統一する動きも定着してきたので、社会的に受け入れられているわけです。

プリンタの修理屋です。

この辺りは詳細には伝えられていませんし、機械内部の温度状況によって対応していますので、一概にどのくらい落ちるかは分かりません。

取説によると、最終的には1.9枚/分程度まで落ちることになっています。

このプリンタに限らず、キヤノンのレーザープリンタでは特殊なフィルムを使った定着方法を使っています。大昔はSURF方式、最近はオンデマンド定着と呼んでいます。

普通の定着器ではアルミのパイプ(ローラー)の中にガラス管ヒーターを仕込んで、それを発熱...続きを読む

Qアクティブセルとそのセルに隣接する右隣の2つのセルをコピーしてシート2に貼り付ける

「アクティブセルとそのセルに隣接する右隣の2つのセルをコピーしてシート2に貼り付ける」というVBAコードが知りたいです。

「アクティブセルをシート2に貼り付ける」だけなら
Selection.Copy
Sheets("Sheet2").Select
ActiveSheet.Paste
はわかるのですが、
「アクティブセルとそのセルに隣接する右隣の2つのセルをコピー」がわかりません。

例えて言うなら
A1がアクティブならA1からC1までコピーして
シート2の(C3がアクティブなら)C3からE3に貼り付けたいです。
よろしくお願いします。

Aベストアンサー

Resizeをつかえばできますよ。
こんな感じです。

Sub test01()
ActiveCell.Resize(1, 3).Copy
Sheets("Sheet2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub


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

人気Q&Aランキング

おすすめ情報