• ベストアンサー

エクセルマクロで表をコピーして別シート貼り付け

エクセル2007でマクロをつかって、表をコピーして別シートにはりつけます。 ところが、うまくはりつけられるときと、なぜかはりつけが基準のセルでないところ から始まってずれてしまいます。 たとえばA1からはりつけるようにしてても別のセルからはりつけてる。 なぜなのでしょう。わかるかたアドバイスお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 374649
  • ベストアンサー率38% (203/527)
回答No.2

表を作るときデータ領域を絶対番地で指定してないのでコピーしたとき相対番地になってずれるのではないでしょうか。 コピーをマクロでするだけでなく表自体をマクロ(データ領域と表示領域、表示Sheetを自由に設定できる)で作ってはどうでしょうか。

nemusugi
質問者

お礼

なんだか範囲選択をしたままだとずれる?みたいでした。 なんとか解決しました。 ご助言ありがとうございました!!!!!

その他の回答 (1)

  • spar
  • ベストアンサー率46% (35/75)
回答No.1

おはようございます マクロのコードが分ればいいのですが・・・

nemusugi
質問者

お礼

朝早くからありがとうございました!

関連するQ&A

  • エクセル2003で別のマクロで選択したセルに別のシートからコピーして貼り付けるマクロ

    別のマクロで選択したセルに別のシートからコピーして貼り付けるマクロ、どうしても、このマクロが作れないです。 難題すぎて・・・・ 貼り付けるセルの値は選択ボタンによって変わる仕様ですが、エクセル2003で可能なんでしょうか? 難しすぎてコードが全然解らない状態です どなたかご教授願えれば幸いです。

  • 別シートにコピペするマクロの作り方?

    シートAのデータをコピーして、 そのデータを別シートに貼り付ける…というマクロを使っています。 貼り付ける先のシートには、どんどんデータがたまっていく倉庫のような役割です。 私がくんだマクロは、次のような手順で処理をします。 1.まず、そのシートのA1を選択し、 2.《CTRL+下》のようなコマンドで、「データが初めて空白になるセル」まで移動します。 3.そして、そこに「はりつけ」。 4.貼りつけが終わったら、もともといたシートに戻ってくる。 ・・・そういうマクロなのですが、あまりに洗練されていないというか、 ボタンをおすたびに、コンピューターの画面が切り替わって、 「ああ。頑張って作業をしてくれているな」 ということが、わかるマクロです。 ・・・ たしか、こうした一連の作業を、もっと高速処理できるマクロの組み方があったように思うのですが、どのようなプログラムをくんだらよいでしょうか?

  • 任意のシートから別のシートにコピーするマクロについて

    任意のシートから別のシートにコピーするマクロについて Excel2007を使っています。 一つのファイルで任意のシートから別のシートの任意のセルにデーターを1000ケタ以下切り捨てでコピーする方法を教えてください。

  • Excel 2007 マクロ 表の貼り付け

    Excel 2007 マクロ 表の貼り付け Excel 2007 マクロ 表の貼り付けについて教えてください。 <Sheet1>の表にあるA2からD4を <Sheet2>に値貼り付けをします。 表は画像を添付します。 マクロの記録では下記内容になります。 Sub Macro1() ' ' Macro1 Macro ' ' Range("A2:D4").Select Selection.Copy Sheets("Sheet2").Select Range("A2:D4").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False End Sub <Sheet1>のA列の行の増減にかかわらず、<Sheet2>に貼り付けることができるように するにはどのようにマクロを修正すればよろしいでしょうか。

  • エクセルでセルの大きさを変えた表の貼り付け

    エクセルでセルの大きさを変えて作った表を、別のシートに貼り付けたところ、セルの大きさがコピーされず、元の大きさのままコピーされました。セルの大きさごとコピーするにはどうすればよいでしょうか?

  • excelでマクロシートをコピーしたとき

    excelでbook1のsheet1のセルA1に「1」を入力→プリントアウト→A1に「11」を入力→プリントアウト・・・以下「31」まで繰り返し。 というマクロが組んであります。 (ボタンにマクロが登録されています。) このシートをbook2にコピーをしたときに マクロを実行する(ボタンを押す)とbook1が開いてしまいます。 これをbook1を開かずにbook2でマクロを実行するには どのようにしたらよいでしょうか。 book2でマクロを作成し直して さらにボタンにマクロを登録していますが、 bookの数が多いのでけっこうな手間になります。 簡単な方法があれば教えて下さい。

  • エクセルマクロでコピーの質問です。

    エクセルマクロでコピーの質問です。 こんにちわ^^; よくわからないエラーが起こっているため困っています。 1.xlsという別のエクセルを開いて指定のセルをコピーし、貼り付けるということで下記のマクロを作ってみました。 ちなみにマクロを書いたファイルはsum.xlsで、1.xlsのコピーしたいセルには数値のみ入っています(書式は会計)。 Sub before() Workbooks.Open Filename:="c:¥aaa¥1.xls" Range("a1:a5").Copy ActiveWindow.Close Range("a1").PasteSpecial End Sub しかし、このマクロをThisWorkbookに貼り付けると文字列として保存されてしまいます。 そこで最後の行を Range("a1").PasteSpecial Paste:=xlValues にするとエラー400が出ます。 一応、sheet1(sheet1)に貼り付けて実行してみたところ、コピー自体ができませんでした。 まだ余りエクセルマクロを理解していないため、なぜなのかが良くわからないのでアドバイスをお願いいたします。 ちなみに使っているのはoffice2003のエクセルです。

  • エクセル マクロでシート名変更

    Excelで、作成してあるフォーマットに新しく数値をコピーして完成した表を別のブックに移動して保存しようと考えています。その際、シートのA1セルの値を自動的にワークシート名に持ってきたいのですが、やり方が分からず困っています。 シート名のところ以外は、なんとなくマクロの記録を使ってできそうなのですが、A1セルの値を自動的にシート名にすることができずに引っかかっています。 いい方法があれば教えてください。 よろしくお願いいたします。

  • コピー貼り付けのマクロの処理時間の早い方法を教えてください。

    ある表の中から部分的にセルを指定して抜き出して、 別の表を作成しています。 コピーする範囲のセルが連続して繋がっていないので、 セルを一つづつ指定してコピーして貼り付ける動作をマクロの自動記録で登録しました。 コピー貼り付けの回数が100セル分ほどあるので、処理時間が遅いです。 目で見て順番にデータがコピーされて行くのが分かるくらいです。 この動作をもっと速くするマクロを教えてください。 実際の表ではコピー元(sheet1)のA5→コピー先(sheet2)C1、 以下同じくコピー元は全て(sheet1)でコピー先は(sheet2)です。 A8→C2、A11→C3、A14→C4、A17→C5,・・・・ B2→D1、B12→D2、B22→D3、B32→D4,・・・・ このような感じでコピーします。 *コピー元のsheet1の指定セルは毎回同じ場所です。 コピー先も毎回同じセルです。 宜しくお願いします。

  • エクセルでシートコピーするマクロについて

    マクロ初心者です。宜しくお願いします。 エクセルで一つのSheet1があります。そのSheet1には、一覧表があります。マクロを実行することで、Sheet1の後ろにSheet2を作成して、Sheet1と同じ一覧表をコピーして表示できるようにし、それを、マクロを実行すれば、ワークシートが一枚追加され、Sheet2のシート名になり、シートを追加する度にシート名が、Sheet3、Sheet4、Sheet5となるようにしたいです。 分かりづらい説明ですが、宜しくお願いします。

専門家に質問してみよう