• ベストアンサー

エクセル シートのコピーで幅が変更される

初歩的な質問で申しわけありません。 エクセルのシートのコピーをした際に、 新しいBookにコピーした場合には、コピー元と幅が同一なのですが、 既存のBookにコピーした際、幅が小さくなってしまいます。 以前の質問等を参考に  1.プリンタの設定が同一の事  2.標準フォント・サイズが同一のこと を確かめました。 このような現象ははじめてで。。。 申しわけありません。 ご回答をいただきたいです。 よろしくお願い致します。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんばんは。 >コピー先のシート「スタイル:標準2(11p)」と同一でした。 「スタイル名(S):標準2(11p)」というのは、ユーザー設定だと思います。 通常の名称は、そのようにはなっておりません。誰かが設定したものだと思います。 こちらでは細かい操作するよりも、以下のマクロで調べたほうが早いです。アクティブなシートに対して、調べるものです。 ( )括弧内は、標準です。括弧の前に「*」が出てきたら、設定は標準にはなっていません。 取り付け方: Alt + F11 -> 挿入 -> 標準モジュール 貼り付け Alt + F11 で、VBEditor を閉じて、Alt + F8 で、「Test1」 を探してクリックします。 「標準幅とウィンドウ・ズームとスタイルの標準フォント・サイズを調べるマクロ」 Sub Test1()   Dim w As Double   Dim z As Long   Dim f As Double   Dim i As Long   Dim p As String   Dim msg As String   w = ActiveSheet.StandardWidth   If w <> 8.38 Then p = "*" Else p = ""   msg = "現在幅:" & w & p & "(8.38)"   z = ActiveWindow.Zoom   If z <> 100 Then p = "*" Else p = ""   msg = msg & vbCr & "ズーム:" & z & p & "(100)"   MsgBox msg      For i = 1 To ActiveWorkbook.Styles.Count     With ActiveWorkbook.Styles(i)       If InStr(.NameLocal, "標準") > 0 Then         f = .Font.Size         If f < 10 Or f > 12 Then p = "*" Else p = ""         MsgBox "スタイル名: " & .NameLocal & vbCrLf & "フォントサイズ: " & f & p & "(10~12)"       End If     End With   Next End Sub

yuri_12345
質問者

お礼

回答ありがとうございました。 お礼に添付ができず、言葉でうまく説明できるか不安ですが。。。 2002,2007ともに行ってみました。 <2002・2007コピー元>   現在幅:8.5* ズーム:100   スタイル名:標準(9*)・標準2(11)・標準3(9*) <2002コピー先>   現在幅:8.38 ズーム:100   スタイル名:標準(11)・標準2(11)・標準3(9*)・         標準_コピー元マクロ名(9*) <2007コピー先>   現在幅:8.38 ズーム:100   スタイル名:標準(11)・標準2(11)・標準2 2(11)・         標準3(9*)・標準4(9*)・         標準_コピー元マクロ名(9*) となっていました。 ということは、マクロでコピーを行った場合、 マクロ名のついたスタイル名のフォントが基準となると いうことで、幅が変わってしまったのかな。と思いました。 解釈が間違っていたらすみません。 本当にいろいろと教えていただいてありがとうございます。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 >既存のBookにコピーした際、幅が小さくなってしまいます。 同バージョンで起こる現象としては、スタイルの設定があります。スタイルの中の「標準」のフォントサイズを変えると、そのようになるのです。 >2.標準フォント・サイズが同一のこと  標準フォントというのは、標準フォントという名前であって、10~12 point ぐらいまでの間は、セル幅は変更されませんが、それ以外は変わってしまいます。その上に、個々の書式のフォントを11.5 point に変えたとしても、同様です。   具体的には、スタイルの中のフォントサイズを 9 pointにしているので、そのようになります。

yuri_12345
質問者

お礼

wendy02様 いつもお世話になっております。 もう一つの質問の方もありがとうございます。 「ツール」「オプション」の標準フォントだけを気にしていたのですが、「スタイル」もあるのですね。 無知ですみません。 早速、見てみました。 元のファイルのシート「スタイル:標準2(11p)」 コピー先のシート「スタイル:標準2(11p)」と同一でした。 他にどこか見る場所等、ありましたら、 教えていただけると嬉しいです。 よろしくお願いいたします。

  • hayasi456
  • ベストアンサー率40% (2402/5878)
回答No.1

office XPと2003で2通りやってみました。 結果は同じでした。 1)sheet1のインデックス上で右クリック「移動またはコピー」を選び「コピーを作成する」にチェックを入れるとsheet1(2)が出来ます。sheet1と内容、列の幅、行の高は同じです。 2)sheet1の列Aの左側、行1の上であるコーナーをクリックしてシート全体を選択しコピー他のsheetを開きセルA1を選択して貼り付けでも同じ結果でした。 やってみてください。

yuri_12345
質問者

お礼

回答ありがとうございます。 説明不足で申し訳ありません。 バージョンの違いと思い、2002と2007で行ってみました。 (1)マクロによる新規ブックの作成 (2)シートのコピー 2002だと幅が縮小され、2007だと縮小されませんでした。 また、マクロで作成したブックに手でシートのコピーをしても 2002だと縮小され、2007だと縮小されません。 特に、ブックの作成時、特殊なことはしていないのですが。。。 何かお分かりになれば、教えていただきたく、 お願いいたします。

関連するQ&A

専門家に質問してみよう