いきさつ
「足親指の経時変化をスマホで記録-Word編」では、結果をA4版で印刷したい‥‥ との思いから「それなら Word でしょ」となった。
完成した と言ってもまだ3ヶ月間分なので作成中 と言うべきだが、データベースにするなら Excelでしょう、Wordの表を 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だったので、若干余裕を持たせた。
- 列の幅:29
- C列:年月日2 ‥‥ A列に同じ
- D列:画像2 ‥‥ B列に同じ
- 1行目:項目名
- 行の高さは標準どおり
- 2行目以下の行の高さ
- 行の高さ:102
- ページレイアウトにして 35.72mmを指定後、標準に戻したら 101.3だったので若干余裕を持たせた。
- 行の高さ:102
配置
セルの書式設定 ⇒ 配置 の
- 横位置は「中央揃え」
- 縦位置は「上詰め」とした。
画像の作り方
基本的には JTrimで加工している。今回は Wordの時に作ったものを流用している。
編集後記
Wordで作成した画像をそのまま使って、Excel化できた‥‥ が、何故か微妙にズレることがある。
原因は判っていないが、調べているといつまで経っても完成しないので、とりあえずアップし、以後は「改訂」で対応する予定。
参考サイト
【エクセル時短】列の幅や行の高さをセンチメートル単位で指定する方法。実寸で印刷したいときに便利!
◆ページレイアウト表示にして数値で入力する
列の幅や行の高さをセンチメートル単位で指定するには、シートを[標準]表示から[ページレイアウト]表示に切り替えます。加えて、列と行の境界線をドラッグして大きさを変更するのではなく、[列の幅]または[行の高さ]ダイアログボックスを表示して、目的のサイズを数値で入力します。
Excelで "セルに画像を貼り付ける" 方法|事務作業の省力化や資料作成に役立つ、Excelの使い方を紹介
シートに「画像」を貼り付けただけでは、画像は "連動" しません
Excelで「写真付きの報告書」や、「建設・設備の補助金申請」の際などに写真付きの書類を作る場合、セルに画像を貼り付けて "データのように扱いたい" ことがあります。
しかし、Excelに「画像」を貼り付けても、Wordのように単純に張り付けただけでは画像がセルと連動しないので、Excelで画像を扱う意味がありません。
単純に "シート" に画像を「貼り付ける」のではなく「挿入する」ことにより、 "画像を貼り付けたセルを移動" すれば、連動して画像も移動するようになります。単純に「貼り付けただけ」では"セルと連動しない"
【VBA】ファイルを選択するダイアログを表示して、選択されたファイルパスを取得する | 現場で使える! Excel/VBA実践ガイド
◆全てのファイルを選択可能なダイアログ
全てのファイルを選択できるダイアログを表示させます。
上記を実行すると、
- 全てのファイルを選択できるダイアログを表示されて
- 選択されたファイルパスを取得できる
ことを確認できます。
完成した図を挿入する 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