Excelで工事写真帳を作っていて、その写真帳のあるセルに写真を貼りつけて、写真の横にコメントが書けるようになっています。1ページに3枚の写真を貼りつけられるので、1枚ずつ挿入するのではなく、複数の写真を選択して挿入したいのですが、貼りつけたい順番に写真を選択→挿入すると、微妙に順番が変わって挿入されてしまいます。
試しに貼りつけたい順番の逆から選択→挿入してみたのですが、このときは貼りつけたい順番どおりに挿入されました。これはどうしてなのでしょうか?
また、この写真帳作成でもっといい方法があれば、教えていただきたいです。よろしくお願いします。
No.6ベストアンサー
- 回答日時:
> この“C5”以下を“選択しているセル”以下という設定は可能でしょうか?
可能ですよ。#2 のソースコードで
' 貼り付け開始セルを選択
Range("C5").Select
↓
' 貼り付け開始セルを選択
’ActicveCellRange("C5").Select
のように先頭にアポストロフィー(’)を追加して下さい。
これをコメント化といって、それが付いた行の命令は無視されます。結果、
現在選択されているセルから開始されるようになります。
ついでに、画像を挿入したときにファイル名も同時に記入するなら、
Set PIC = ActiveSheet.Pictures.Insert(Filenames(i))
の部分を
Set PIC = ActiveSheet.Pictures.Insert(Filenames(i))
ActiveCell.Offset(0,2).Cells(1,1).Value = Filenames(i)
のようにします。これは、アクティブセルから Offset 命令で 2 つ横のセルに
ファイル名を書き込んでいます。その後にある Cells は今は特に考えなくて
良いと思いますので、意味については無視して下さい。
さらに、次の部分
' 次の貼り付け先を選択(アクティブセルにする)[例:5個下のセル]
ActiveCell.Offset(5).Select
の5という数字は「何個飛ばしに貼り付けるか?」ですから、10個飛ばしなら
ActiveCell.Offset(10).Select
となります。是非、いろいろ修正し、試行錯誤しながら楽しんで下さい^^
親切に教えていただきまして、ありがとうございました<(_ _)>
おかげさまで、当初使っていた写真帳に比べて、作業の効率がかなりアップして、嬉しい限りです。お世話になりました!
No.5
- 回答日時:
> 一例を示していただきましたが、私の手には負えないようです。
では、良い機会ですから時間のあるときにでも、次の手順どおりやってみて
下さい。VBA (マクロ)とはこういうことができる、と触れておいて損は
ありませんよ。
【 手 順 】
1. Excel 画面で [Alt]+[F11] キーを押す。
--> Visual Basic Editor (以下 VBE )起動
2. VBE 画面のメニュー [挿入]-[標準モジュール] をクリック
3. #2 のソースコード 「Sub 複数の画像を挿入()~最後まで」 をコピー
4. 2. で開いたスペースにペースト
5. VBE を閉じる
ここまでで、準備は終了です。次に使い方です。
6. Excel 画面で新規ワークシートを挿入
7. 現在の設定は、C5 以下で5行置きに画像を挿入します。画像挿入場所の
セルの高さにリサイズするようになってますので、予めセルの高さを
希望する大きさに変更しておいて下さい。
C5 → C10 → C15 → ... のように貼り付きます。
7. [Alt]+[F8] キーを押し、マクロ「複数の画像を挿入」をダブルクリック
8. 7. により「ファイルを選択する画面」が表示されます。ここで、挿入する
画像を1~複数枚選択し、OK をクリックします。
以上で、ファイル名順に画像が次々に挿入され、位置決め、サイズ等を自動で
設定します。
# 私も工事写真票を作ったことがありますが、写真が多いと面倒ですよね。
この回答への補足
早速、教えていただいた手順どおりにマクロを使ってみました。
次々に写真が挿入されていき、ちょっと感動してしまいました!
そこで、もう1つ教えていただいてもよろしいでしょうか?
現在の設定では、「C5以下で5行おきに画像を挿入する」ようになっているとのことですが、この“C5”以下を“選択しているセル”以下という設定は可能でしょうか?もし可能であれば、その方法を教えていただきたいのですが…
よろしくお願いします。
またまた、ご丁寧な回答ありがとうございます!
マクロを使えるようになりたいと思っているのですが、本や雑誌などを読んでもさっぱり意味がわからなくて、手を出せないでいました。
私は普段は経理をしていて、工事写真帳の作成は頼まれてやっているのですが、写真を見ただけでは順番がわからないので、貼りつけたい順番どおりに挿入できるだけでも、ずいぶん作業の効率がよくなるんです。
詳しく説明していただきましたので、時間を見つけてチャレンジしたいと思います。
No.4
- 回答日時:
No.3
- 回答日時:
#2 のコードを一部訂正しておきます。
では。× MsgBox i & "枚の画像を挿入しました", vbInformation
↓
○ MsgBox i-1 & "枚の画像を挿入しました", vbInformation
No.2
- 回答日時:
こんにちは。
KenKen_SP です。挿入してから手動で並べ替えるのは、ダメなのですか?
> 順番の逆から選択→挿入してみたのですが、このときは貼りつけたい順番
> どおりに挿入されました。
それは、たまたまの上手くできただけであって、選択順は無関係ですね。確証
はないのですが、選択されたファイルを HDD から探し、見つけた順番に画像が
挿入されるのだと思います。
任意の選択順...というのは特殊な仕組みを作らないと無理です。プログラム
を組むことになりますが、結構複雑になりそうです。
また、ファイル名順であれば、こちらもプログラムは必要ですが、比較的に
簡易なもので可能です。一例を紹介しておきます。
Sub 複数の画像を挿入()
Dim strFilter As String
Dim Filenames As Variant
Dim PIC As Picture
' 「ファイルを開く」ダイアログでファイル名を取得
strFilter = "画像ファイル(*.jpg;*.jpeg;*.gif;*.bmp;*.png),*.jpg;*.jpeg;*.gif;*.bmp;*.png"
Filenames = Application.GetOpenFilename( _
FileFilter:=strFilter, _
Title:="図の挿入(複数選択可)", _
MultiSelect:=True)
If Not IsArray(Filenames) Then Exit Sub
' ファイル名をソート
Call BubbleSort_Str(Filenames, True, vbTextCompare)
' 貼り付け開始セルを選択
Range("C5").Select
' マクロ実行中の画面描写を停止
Application.ScreenUpdating = False
' 順番に画像を挿入
For i = LBound(Filenames) To UBound(Filenames)
Set PIC = ActiveSheet.Pictures.Insert(Filenames(i))
'-------------------------------------------------------------
' 画像の各種プロパティ変更
'-------------------------------------------------------------
With PIC
.Top = ActiveCell.Top ' 位置:アクティブセルの上側に重ねる
.Left = ActiveCell.Left ' 位置:アクティブセルの左側に重ねる
.Placement = xlMove ' 移動するがサイズ変更しない
.PrintObject = True ' 印刷する
End With
With PIC.ShapeRange
.LockAspectRatio = msoTrue ' 縦横比維持
' 画像の高さをアクティブセルにあわせる
' 結合セルの場合でも対応
.Height = ActiveCell.MergeArea.Height
End With
' 次の貼り付け先を選択(アクティブセルにする)[例:5個下のセル]
ActiveCell.Offset(5).Select
Set PIC = Nothing
Next i
' 終了
Application.ScreenUpdating = True
MsgBox i & "枚の画像を挿入しました", vbInformation
End Sub
' バブルソート(文字列)
Private Sub BubbleSort_Str( _
ByRef Source As Variant, _
Optional ByVal SortAsc As Boolean = True, _
Optional ByVal Compare As VbCompareMethod = vbTextCompare)
If Not IsArray(Source) Then Exit Sub
Dim i As Long, j As Long
Dim vntTmp As Variant
For i = LBound(Source) To UBound(Source) - 1
For j = LBound(Source) To LBound(Source) + UBound(Source) - i - 1
If StrComp(Source(IIf(SortAsc, j, j + 1)), _
Source(IIf(SortAsc, j + 1, j)), Compare) = 1 Then
vntTmp = Source(j)
Source(j) = Source(j + 1)
Source(j + 1) = vntTmp
End If
Next j
Next i
End Sub
詳しい回答ありがとうございました。
“プログラムを組む”ことまでしないと、貼りつけたい順番どおりにはいかないのですね(>_<)
プログラムうんぬんまでPCに詳しくないので、一例を示していただきましたが、私の手には負えないようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Word(ワード) 写真3枚をA4に貼り付けたい 5 2023/07/03 14:36
- Word(ワード) スマホWord使用法 1 2023/01/06 18:10
- iPad GoodNotes5で、画像を複数選択し一気に挿入する方法はありませんか。 一枚選択すると、そのまま 1 2023/07/06 18:07
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- 写真・ビデオ 写真や動画を保存する、これらを満たしたサービスはありませんか。 ・iOS, Android, Mac 2 2023/07/30 18:35
- その他(Microsoft Office) 複数の写真を1枚に印刷 5 2023/05/05 22:41
- 画像編集・動画編集・音楽編集 写真への文字の貼り付け 4 2023/04/06 18:39
- その他(悩み相談・人生相談) 推しの写真集の購入数について 2 2022/07/19 18:23
- 写真・ビデオ iPhoneのプライバシーとセキュリティの写真の項目について 2 2023/06/24 23:11
- iPhone(アイフォーン) iPhoneのプライバシーとセキュリティの写真の項目について 1 2023/06/24 20:25
このQ&Aを見た人はこんなQ&Aも見ています
-
【お題】NEW演歌
【大喜利】 若い人に向けたことは分かるけど、それはちょっと寄せ過ぎて変になってないか?と思った演歌の歌詞
-
家・車以外で、人生で一番奮発した買い物
どんなものにお金をかけるかは人それぞれの価値観ですが、 誰もが一度は清水の舞台から飛び降りる覚悟で、ちょっと贅沢な買い物をしたことがあるはず。
-
土曜の昼、学校帰りの昼メシの思い出
週休2日が当たり前の今では懐かしい思い出ですが、昔は土曜日も午前中まで学校や会社がある「半ドン」で、いつもよりちょっと早く家に帰って食べる昼ご飯が、なんだかちょっと特別に感じたものです。
-
許せない心理テスト
私は「あなたの目の前にケーキがあります。ろうそくは何本刺さっていますか」と言われ「12本」と答えたら「ろうそくの数はあなたが好きな人の数です」と言われ浮気者扱いされたことをいまだに根に持っています。
-
好きな和訳タイトルを教えてください
洋書・洋画の素敵な和訳タイトルをたくさん知りたいです!【例】 『Wuthering Heights』→『嵐が丘』
-
複数の画像ファイルを挿入したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/22】このサンタクロースは偽物だと気付いた理由とは?
- ・お風呂の温度、何℃にしてますか?
- ・とっておきの「まかない飯」を教えて下さい!
- ・2024年のうちにやっておきたいこと、ここで宣言しませんか?
- ・いけず言葉しりとり
- ・土曜の昼、学校帰りの昼メシの思い出
- ・忘れられない激○○料理
- ・あなたにとってのゴールデンタイムはいつですか?
- ・とっておきの「夜食」教えて下さい
- ・これまでで一番「情けなかったとき」はいつですか?
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで枠飾り
-
エクセルのフッター(右)に入...
-
ヘッダーとフッダーの縦書き方法
-
エクセルで写真の挿入 セルの中...
-
GIMPとWORDについて
-
OO.oのDrawで挿入絵の背景を透...
-
写真9枚をA4紙に配置したい。
-
Accessで請求書に印鑑を...
-
エクセルのフッダーに四角で囲...
-
保存や挿入などフォルダを開く...
-
エクセル2007へPDFファイルの挿...
-
大学のレポートを書くためにWor...
-
PowerDirector 11で空白時間の挿入
-
エクセルVBAで縦向きの画像の挿...
-
フッターを「最前面」に
-
EXCELのフッターにオートシェイ...
-
Excelに複数の写真を挿入する場合…
-
EXCELにjpg画像を挿入...
-
OneNote2010 図のトリミング
-
画像に連番の文字列を挿入したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで枠飾り
-
ヘッダーとフッダーの縦書き方法
-
エクセルのフッター(右)に入...
-
PowerDirector 11で空白時間の挿入
-
大学のレポートを書くためにWor...
-
エクセルのフッダーに四角で囲...
-
エクセルVBAで縦向きの画像の挿...
-
エクセルで写真の挿入 セルの中...
-
OO.oのDrawで挿入絵の背景を透...
-
EXCELにjpg画像を挿入...
-
フッターを「最前面」に
-
写真9枚をA4紙に配置したい。
-
EXCELのフッターにオートシェイ...
-
エクセルで作成した文に柄・模...
-
GoodNotes5で、画像を複数選択...
-
Win11で使える写真整理ソフトを...
-
VBAで特定のセルに画像があれば...
-
Word~図の挿入のレイアウトを...
-
保存や挿入などフォルダを開く...
-
GIMPとWORDについて
おすすめ情報