• 締切済み

シートのコピー、セル全体のコピーで列幅が変わる

VBAから新しいブックへのシートコピー、セル全体のコピーをすると 列幅が変化し、印刷プレビューで確認してもコピー元とは異なっています。 列幅をみるとコピー元が15、コピー先が11になっていますが、ピクセルは両方とも 90となっていました。 VBAを使わず手動で試したところ、コピー元と同じ列幅でシートコピー、セル全体のコピーが できました。 VBAでは、コピー元とコピー先の列幅を一致させることはできないのでしょうか? なお、バージョンはExcel2003で、使用したメソッドはマクロ記録したものです。

みんなの回答

  • sakuuuuu
  • ベストアンサー率32% (67/209)
回答No.1

貼り付ける際に「PasteSpecial」メソッドを使用してください。(Pasteメソッドではありません) 参考url http://www.officepro.jp/excelvba/cell_edit/index7.html

tottoko_ht
質問者

お礼

ご回答ありがとうございます。 PasteSpecialを使ってみましたが、それでも無理でした;

関連するQ&A

  • エクセルですべて(罫線、列幅など)を含んだコピー

    エクセルで、罫線、書式(セルの色)、行幅、列幅 など、 すべてを含んだコピーをするにはどうすればよいでしょうか。 シートなりブックをそのままコピーすればよいのですが、 必要なのはシート内の一部だけで、今はシートをコピーして コピー後に不要な部分を削除しています。

  • セルをクリックすると別のファイルのシートをコピー

    新しいシート(sheet1)に項目をつけて セルA1「表紙」・セルA2「消火器」・セルA3「誘導灯」を設定 セルA1の「表紙」をクリックすると、(sheet2)に別のブックからシート(表紙)をコピー セルA2の消火器」をクリックすると、(sheet3)に別のブックからシート(消火器)をコピー セルA3の「誘導灯」をクリックすると、(sheet4)にに別のブックからシート(誘導灯)をコピー という風にsheetを増やしていきたいのですが、どうやったら良いのでしょうか? マクロもVBAも経験ありません。 が、がんばりますので、アドバイスをお願いいたします。

  • Excelのマクロで、一列おきに列幅を変えたい

    Excel2003です。 ワークシート全体の列幅を一列おきに同じ幅に設定するマクロを(例えばB、D、F、H…IVを10ピクセル)作りたいのですが、どうすれば良いでしょうか? よろしくお願いします。

  • EXCEL VBA ワークシートのコピーについて

    seaclearsky8です。 一つのブックに何枚ものワークシートを追加して保存するVBAについて ご教授、よろしくお願いします。 コピー元  MASTER Book MASTER Workseets コピー先 Copy Book copy Worksheets コピー元にはワークシートがMASTERワークシートの一枚しかありません。 その一枚のワークシートに値をVBAで入れていき処理し コピー先のコピーBOOKにワークシートをコピーしていきたいです。 しかし、MASTERBOOKの処理が何通りかあり、 コピー元の一枚のワークシートに 処理別にデータを写し コピー先BOOKに          ワークシート名 ワークシート1 処理1ワークシート  ワークシート2 処理2ワークシート ワークシート3 処理3コピー元ワークシート3 という具合にワークシートを複数コピーしたいのですが 処理ごとにデータを代入し、コピー処理はできるのですが。 コピー先BOOK ワークシート3 処理3ワークシート だけしかコピーされてないBOOKが作成されます。 上書きされているのだと思われます。 対処法が調べましたが見つけられていません。 すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。

  • 条件一致するセルを異なるブックへコピーするには…

    EXCEL VBAで条件に一致するセルを別のブックの複数のシートへコピーして 貼りたいのですが、どのようにしたらよいか教えて下さい。 (1)のブック、A列と、(2)のブックA列には順番はバラバラですが、同じデータ(数字とアルファベットの番号が入っています)これを元に、(1)のブックのK列のデータを(2)のブックシートa~dのY列に貼りたいのです。(シートa~dにはそれぞれ異なるデータが入っていますが、列数は一緒です。A列に入っているデータも(1)のブックと一緒です。) お詳しい方どうかどうか宜しくお願い致します。

  • Excel2007でBOOK間のシート移動をVBAで行うとエラーになる

    Excel VBAで開発されたソフトの改造を行ってますが、Excel2007で動作しないマクロがあり困ってます。 <開発環境> ・WindowsXP Pro SP3 ・Celeron 540(1.8GHz) ・メモリ1GB ・Excel2007 SP1 (Microsoft Office2007) 改造元ソフトはOffice2000で開発されており、Excel2007で動作するとマクロエラーが発生する処理があります。 因みにまだソフト改造はしてなく、そのままExcel2007で動作させるだけでマクロエラーが発生します。 発生する箇所はVBAで開発されており、下記のコマンドです。 Sheets(移動元シート名).Move Before:=Application.Workbooks(移動先ブック名).Sheets(1) 異常の内容は下記になります。 ------------------------------- ?err.Description 移動先またはコピー先のブックの行列数が元のブックの行列数よりも少ないため、シートを移動先またはコピー先のブックに挿入できません。データを別のブックに移動またはコピーするには、データを選択して、[コピー] コマンドと [貼り付け] コマンドを使用して移動先またはコピー先のブックのシートに挿入してください。 ?err.Number 1004 ------------------------------- 移動元BOOKは1シート、移動先BOOKは1シートあります。 これをExcel2000で実行すると正常にシートが移動できます。 (移動元BOOKのシートがなくなりBOOKが終了して、移動先BOOKは2シートになります) Excel画面の移動元シートを選択して、右クリックメニューの「移動またはコピー」で移動先ブックを指定して移動すると 「移動先またはコピー先のブックの行列数が元のブックの行列数よりも少ないため、シートを移動先またはコピー先のブックに挿入できません。データを別のブックに移動またはコピーするには、データを選択して、[コピー] コマンドと [貼り付け] コマンドを使用して移動先またはコピー先のブックのシートに挿入してください。」 とVBAから実行した時と同じ内容のエラーダイアログが表示されました。 (Excel2000では手動でも移動できました) Excel2007では1シートで構成されたBOOK間の移動はできないのでしょうか? また、これをVBAで対策しようとした場合にどうしたら良いのでしょうか? ネットで調べましたが判らず、ここで質問させて頂きました。 判りにくい説明で申し訳ありませんが、よろしくお願いします。

  • EXCEL VBA ワークシートのコピーについて

    seaclearsky8です。 一つのブックに何枚ものワークシートを追加して保存するVBAについて ご教授、よろしくお願いします。 コピー元  MASTER Book MASTER Workseets コピー先 Copy Book copy Worksheets コピー元にはワークシートがMASTERワークシートの一枚しかありません。 その一枚のワークシートに値をVBAで入れていき処理し コピー先のコピーBOOKにワークシートをコピーしていきたいです。 しかし、MASTERBOOKの処理が何通りかあり、 コピー元の一枚のワークシートに 処理別にデータを写し コピー先BOOKに          ワークシート名 ワークシート1 処理1ワークシート  ワークシート2 処理2ワークシート ワークシート3 処理3ワークシート という具合にワークシートを複数コピーしたいのですが 処理ごとにデータを代入し、コピー処理はできるのですが。 コピー先BOOK ワークシート3 処理3ワークシート だけしかコピーされてないBOOKが作成されます。 上書きされているのだと思われます。 対処法が調べましたが見つけられていません。 すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。

  • Excel コピー先の別sheetのセルの参照

    Excel初心者です。 AというBookにBというBookから1つのsheetをコピーします。(sheetXとします。) その後sheetXのセルBA1にBookAのsheet1のセルCA1の値が入るようにしたいのですが どのように設定すればいいのでしょうか?

  • 【Excel】シートのコピー

    Excel2003を使用しています。 Sheet1をSheet1のA1セルに入力されている数字の枚数分、自動でコピーできないでしょうか? 例えば、Sheet1のA1セルに『10』と入力されていたら、Sheet1を10枚作成(コピー)したいのですが、どのようにすればいいでしょうか? また、このシートのコピーを複数のブックで一度にできないでしょうか? よろしくお願いします。

  • VBA コピー&ペースト

    次の作業をVBAでマクロを組みたいのですが、どのような構文にすればよいでしょうか。VBA初心者のため、お知恵を拝借させてください。 [目的] 1.ブックA(コピー先)に設定したハイパーリンク先のブックB(コピー元)へジャンプ 2.ブックBへジャンプ後、特定のセルの値をコピー 3.コピーした値をブックAの特定セルへペースト 4. 1.~3.の作業をリピート 対象は、上の作業が未完(ブックAのペースト先のセルがブランク)のもの [詳細] ・ブックB(リンク先)の保存先はサーバー ・リンク先はブックBの特定のシート ・ブックAで設定したハイパーリンクのセルの値がリンク先のシート名 ・ブックBは複数、リンク先のシートも複数(ハイパーリンクごとにリンク先が異なる) ・ブックBにはマクロが設定、開くたびにマクロ有効無効のメッセージ(Excel2003のため) ・コピペする項目は3つ ・ブックA,Bともに開いた状態で、2.~4.のリピートというマクロでも構いません。 以上ですが、他に情報が必要でしたらお申しつけください。 よろしくお願いいたします。

専門家に質問してみよう