• ベストアンサー

Excel2013で任意の列幅、行の高さにする方法

Excel2013で既存の表を真似して表を作ろうとしています。元になっている表の列幅などを定規で測り、ページレイアウト表示にし、列幅0.7㎝、3.4㎝など入力するのですが、もう一度列幅を見ると0.7㎝を指定した所は0.69㎝、3.4㎝と入力した所は3.39㎝など違う数値が入っています。 自分が入力した数値にする方法はございませんでしょうか。 宜しくお願い致します。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.8

#5 です。 その続きです。 下記でエクセル表をVBAでワードに移せます。 そのワードの表の行高・列幅をVBAで設定できます。 こういうコードはWEBですぐ見つかります。 excelVBAです。ワードの参照設定が必要です。 例データ Excelの表の例です 注文票 製品名 種類 数量 ねじ A2 12 ボlト BB1 23 板 F 5 ===== Sub 表書き出し() 'https://kosapi.com/post-4360/ より Dim ワード As New Word.Application Dim 文書 As Word.Document Dim 名前 As String Dim パス As String '名前 = InputBox("ワードのファイル名を入力してください") 'パス = ThisWorkbook.Path & "\" & 名前 & ".docx" Set 文書 = Activedocument 'ワード.Documents.Add With 文書 .ActiveWindow.Selection.TypeText Text:=Range("A1").Value .ActiveWindow.Selection.TypeParagraph Range("A2:E14").Copy .ActiveWindow.Selection.PasteExcelTable False, False, False '.SaveAs2 パス '.Close End With MsgBox パス & "にワード文書を追加しました。" Set 文書 = Nothing ワード.Quit: Set ワード = Nothing Application.CutCopyMode = False End Sub ==== ワードにエクセルの表が写り(移り)ました。 Word の標準モジュールに下記を作成。 Sub twst01() gh = Array("", 4, 2.5, 3.5) 'cm単位 A,B,C列のCm幅指定テーブル With ActiveDocument.Tables(1) With .Borders .InsideLineStyle = wdLineStyleSingle .OutsideLineStyle = wdLineStyleDouble End With For i = 1 To 3 .Columns(i).Width = CentimetersToPoints(gh(i)) Next i End With ActiveDocument.PrintOut End Sub この程度の単純な表(内だけ)なら、表の枠内(の列幅や行高)は、印刷して、正確に指定通りの長さになります。 しかし、文書の複雑さが、上記程度を超えると、それに対処するワードVBAのコード情報がWEBなどでは、入手しにくいですが。

Shenabo
質問者

お礼

詳しくお教え頂き有難うございます。 試みた事のない事で疎い私にはとても難しい内容ですが調べながら挑戦してみたいと思います。 本当に有難うございました。

その他の回答 (7)

  • 4810noja
  • ベストアンサー率45% (268/591)
回答No.7

既存の表とは、紙に作成してある表ですか? Excelのセルのサイズは、インチが元になっているようで、例えば2.54cmは設定できますが、2.55cmは設定できません(ちなみに1インチは2.54cmです)。 なので、微妙に端数が出てセルを基準にグラフや図形を書こうとすると、不便なことがあります。

Shenabo
質問者

補足

有難うございます。 はい、既存の表は紙に印刷してあるものです。

  • qwe2010
  • ベストアンサー率19% (2193/11072)
回答No.6

列、幅の単位は、ピクセルです。 それを㎝に計算して表示していますので、㎝では、思う数字にはできません。 近い数字で我慢しましょう。

Shenabo
質問者

お礼

有難うございます。 やはり思う数値には出来ないのですね。 お教え頂き納得しました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.5

余り関数での計算などがない、表なら、ワードで表を作り、行高、列幅を, VBAでCentimeterstoPointsで指定すると、物差しで測る、感じで0.5ミリ幅までは正確に、インクジェット式印刷して再現できる経験はしています。

回答No.4

正直なところ、0.1mmの誤差であれば肉眼での判別は不可能です。 そこ(=0.1mmの誤差修正)にこだわられて時間を割くよりは、本来の作業を続けられた方が全体効率としては良いかと思われます。 以上、ご参考まで。

  • Nebusoku3
  • ベストアンサー率38% (1464/3823)
回答No.3

マウスで、罫線の線を操作して、手動で0.7cm や 3.4cm に調整されたら如何でしょうか。  罫線を動かすと寸法の数値が出ますよね。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.2

エクセルでの印刷結果はそれほどシビアではないと思いますし、その表はそれほどシビアな値での列幅行幅の指定が必要なのでしょうか。

回答No.1

その行や列のセル内には何か入力されておりますでしょうか? フォントの影響で誤差が生じてしまうかもしれません。

Shenabo
質問者

お礼

有難うございます。 まだ何も入力していない状態です。