まりふのひと

足親指の経時変化をスマホで記録-Excel編

Wordで作った画像入りの表を Excelに移行

Wordの画像入り表をExcelにコピペ‥‥ は失敗

 Wordの画像入り表をコピーし Excelに貼り付けたら‥‥

Wordの表コピペ直後のExcel


  • テキスト(文字)は正常に貼り付けられている。
  • 行に高さは全て標準(18.5)になっている。
  • このためか、画像は重なっている...
  • 行の高さを広くすると、画像は縦方向に拡がる。
  • 画像の列の幅を広げると、画像が横方向に拡がる。
  • 画像は醜いのでぼかし*1 てある。

見事に失敗した 😓

Excelで作る

 気を取り直して‥‥ Wordで得た情報を元に、新たに Excelで表を作ることにした。

セルの大きさ
  • A列:年月日
    • 年月日の他に簡単な情報を入れるため「文字列」*2 とし、
    • 列幅は最適幅(10.17)とした。
  • B列:画像
    • 列の幅:29
      • 画像の大きさは Wordと同じ 240×135px.*3 となるので、
      • ページレイアウトにして63.5mmを指定後、標準に戻したら 28.83だったので、若干余裕を持たせた。
  • C列:年月日2 ‥‥ A列に同じ
  • D列:画像2 ‥‥ B列に同じ
  • 1行目:項目名
    • 行の高さは標準どおり
  • 2行目以下の行の高さ
    • 行の高さ:102
      • ページレイアウトにして 35.72mmを指定後、標準に戻したら 101.3だったので若干余裕を持たせた。
配置

 セルの書式設定 ⇒ 配置 の

  • 横位置は「中央揃え」
  • 縦位置は「上詰め」とした。
画像の作り方

 基本的には JTrimで加工している。今回は Wordの時に作ったものを流用している。

  1. スマホで撮った写真を PCにつなぐ*4
  2. JTrimで
    1. 原寸表示(Ctrl+F10)する。
    2. まずリサイズ 50%し、(画像が大きいので扱い難いため)
      • 写真を撮る時は接写しない。手振れが発生するし、ここでの縮小率が大きくなるだけだ。
    3. スケールを画面表示し、10mmが何mmかを測定する。(例えば 19mm)
    4. リサイズ率を計算(例えば 10/19≒53%)し、リサイズする。
    5. 再度、画面上の 10mmを実寸し、場合によってはリサイズし直す。
    6. [切り抜き]を使って
      • 240×135 の大きさに切り抜く。
    7. 名前を付けてPNG形式で保存する。
画像の取り込み

 貼り付けると「行を非表示」にした時 崩れことが判ったので‥‥

  • 画像は挿入する。
    • 画像の挿入は、手順が長い*5 ので、[マクロの記録]し、VBA(後述)化した。
    • 画像を挿入するセルにファイル名を入れるようにした。
      • 何処にどういう影響があるかは不明...
  • 画像2 が無いときは「白紙の画像」を挿入することにした。

編集後記

 Wordで作成した画像をそのまま使って、Excel化できた‥‥ が、何故か微妙にズレることがある。
原因は判っていないが、調べているといつまで経っても完成しないので、とりあえずアップし、以後は「改訂」で対応する予定。

参考サイト

【エクセル時短】列の幅や行の高さをセンチメートル単位で指定する方法。実寸で印刷したいときに便利!

dekiru.net

ページレイアウト表示にして数値で入力する
 列の幅や行の高さをセンチメートル単位で指定するには、シートを[標準]表示から[ページレイアウト]表示に切り替えます。加えて、列と行の境界線をドラッグして大きさを変更するのではなく、[列の幅]または[行の高さ]ダイアログボックスを表示して、目的のサイズを数値で入力します。

Excelで "セルに画像を貼り付ける" 方法|事務作業の省力化や資料作成に役立つ、Excelの使い方を紹介

k-ohmori9616.hatenablog.com

シートに「画像」を貼り付けただけでは、画像は "連動" しません
 Excelで「写真付きの報告書」や、「建設・設備の補助金申請」の際などに写真付きの書類を作る場合、セルに画像を貼り付けて "データのように扱いたい" ことがあります。
 しかし、Excelに「画像」を貼り付けても、Wordのように単純に張り付けただけでは画像がセルと連動しないので、Excelで画像を扱う意味がありません。
 単純に "シート" に画像を「貼り付ける」のではなく「挿入する」ことにより、 "画像を貼り付けたセルを移動" すれば、連動して画像も移動するようになります。単純に「貼り付けただけ」では"セルと連動しない"

VBA】ファイルを選択するダイアログを表示して、選択されたファイルパスを取得する | 現場で使える! Excel/VBA実践ガイド

excel-vba.work

全てのファイルを選択可能なダイアログ
 全てのファイルを選択できるダイアログを表示させます。

上記を実行すると、

  • 全てのファイルを選択できるダイアログを表示されて
  • 選択されたファイルパスを取得できる

ことを確認できます。

完成した図を挿入する Excelマクロ(VBA

01. Sub 図の挿入()
02. Dim mbTitle As String
03. Dim nowBookPath As String, nowCell As String
04. Dim fileFullPath As Variant
05.   
06.   mbTitle = "図の挿入/" & ThisWorkbook.Name
07.     'アクティブセルのアドレスを取得する。
08.   nowCell = ActiveCell.Address
09.   nowCell = Replace(nowCell, "$", "")   '$を取る
10.   
11.   If MsgBox("セル(" & nowCell & ") に今から選択する(画像)ファイルを挿入します。" _
12.       , vbOKCancel + vbExclamation, mbTitle) = vbCancel Then Exit Sub
13.       
14.   nowBookPath = ActiveWorkbook.Path
15.     'カレントディレクトリを移動
16.   ChDir nowBookPath & "\画像"
17.     'ダイアログを表示し結果を取得
18.   fileFullPath = Application.GetOpenFilename()
19.     '結果を確認
20.   If fileFullPath = False Then Exit Sub
21.   
22.   Range(nowCell) = Mid(fileFullPath, InStrRev(fileFullPath, "\") + 1)
23.   ActiveSheet.Pictures.Insert(fileFullPath).Select
24.   
25. End Sub


*1:JTrimの[加工]⇒ ガウスぼかし ⇒ ぼかしのレベル:3

*2:セルの書式設定 ⇒ 表示形式 の「文字列」を選択

*3:縦横比はスマホに合わせ 16:9とした。)、Excel上では 63.5×35.72mm((1px.は1in/96=25.4mm/96=0.264583mm

*4:現在は USBケーブルで ◉ファイル転送 している。

*5:[挿入]⇒ 図 ⇒ 画像 ⇒ このディバイス... ⇒ ファイルを指定して[挿入]