
初めまして。本当にド素人の質問で恐縮です。どなたかズバリ、やさしく教えていただけると助かります。
エクセル2010または2013 で、Book1、sheet1のC列に、デジカメ画像のファイル名(.jpgは除く)をテキストで記録してあります。
このファイル名の記録は連番であったり、抜けや順番が違うところ、70以上あります。
(ファイル名は、DSC03046、DSC03050、DSC03048・・・の様にズラッとC列に縦に記録しています。)
デジカメ画像は、C:\Users\mit\Desktop\写真のフォルダに格納してあります。
ご教示いただきたいことは、C列のデジカメ画像のファイル名を記録しているセルに、
写真フォルダのデジカメ画像(.jpg)を一気に貼り付けられるマクロ(プログラム)をズバリ教えていただきたいというものです。写真はセルに合わせる必要もなく、まずはそのままセルに貼れれば良いです。
ネットで似た質問のベストアンサーやプログラムをいろいろ試して、試行錯誤、解読も出来ず、困ってしまい質問をさせていただきました。
何卒、ご教示の程、宜しくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
すみません。
N02です。ActiveSheet.Pictures.Insert(v_PicFulPath).Select
は
o_WS_01.Pictures.Insert(v_PicFulPath).Select
の書き間違いでした。すみません。
No.2
- 回答日時:
例えばこんな感じとか・・・?
※私も初心者なので、細かいこと聞かれてもわかりませんので、これ以上のことはわかりません。
Sub PicImp_n_Resize01()
Dim o_WS_01 As Worksheet
Dim o_Cel_01 As Range
Dim o_Rngs_01 As Range
Dim l_RowHgt As Long
Dim s_Colmn_01 As String
Dim v_PicFulPath As Variant
On Error Resume Next
'もし入力されたフルパスの画像ファイルが、存在しないか、
'パスやファイル名に誤りがあるとエラーになるのですが、
'もしそうなっても最後のフルパスまで処理を続ける。
'(※いい加減なエラー処理なので改善が必要。)
' Application.ScreenUpdating = False
' '画面の描画を止める
'●各種設定。
Set o_WS_01 = ActiveWorkbook.Worksheets("Sheet1")
'目的のシートをオブジェクト変数に代入(シートに短い仮名をつける感じ。)
Set o_Rngs_01 = o_WS_01.Range("D1:D4")
'For Eachのループによって画像ファイルをセットするセル範囲を指定。
'(一番上の行が列名になっているなら、"D2:D4" みたいな感じに変える。)
l_RowHgt = 70
'行の高さと画像ファイルの高さをこの高さに設定。
s_Colmn_01 = "C"
'画像ファイルのフルパスの入力されている列を指定。
'●メインループ処理
'指定したフルパスの画像ファイルを、各セルの位置に挿入して大きさを合わせる。
For Each o_Cel_01 In o_Rngs_01
'指定したセル範囲のすべてのセルに以下の処理。
o_Cel_01.Select
'まずセルを選択。これをすることで、画像ファイルの挿入位置を決定。
'選択したセルの位置に、画像ファイルが挿入されます。
'(また、For Eachのループによって、自動的に一番上のセルから順番に選択されます。)
Rows(o_Cel_01.Row).RowHeight = l_RowHgt
'選択したセルの行の高さを、前段階で設定した高さに変更。
v_PicFulPath = o_WS_01.Range(s_Colmn_01 & o_Cel_01.Row)
'画像ファイルのフルパスの取得(C列より)
ActiveSheet.Pictures.Insert(v_PicFulPath).Select
'「C列に入力されたフルパス」の画像ファイルを挿入してそれを選択。
Selection.ShapeRange.ScaleHeight l_RowHgt / _
Selection.ShapeRange.Height, _
msoFalse, _
msoScaleFromTopLeft
'挿入・選択した画像ファイルを、その行の高さに合わせる。
'※縦横比が保持されるので、自動的に横も合わさります。
Next o_Cel_01
'●後始末。
' Application.ScreenUpdating = True
MsgBox "完了。 ※存在しないか、パスやファイル名に誤りがある画像は抜けています。"
End Sub
No.1
- 回答日時:
まったく同じものを探しても、見つからない事の方が多いですよ。
そういう時は、見つけたマクロが何をしているのかを読み取れなければ無駄な時間を使うだけです。
まずはどんな手順で作業を行うのかを明確にしましょう。
その手段の一つに一つずつ順番に記述したケースを考える方法があります。
そうやって作ったマクロを修正して
「繰り返し処理」
をさせることで問題を解決できることがあります。
というか、このケースではそれで十分だろうと思います。
・・・
一例をあげると
一つずつ順番に記述するマクロは
Sub Macro1()
Range("C1").Select
ActiveSheet.Pictures.Insert( _
"C:\Users\mit\Desktop\写真のフォルダ\DSC03046.jpg").Select
Range("C2").Select
ActiveSheet.Pictures.Insert( _
"C:\Users\mit\Desktop\写真のフォルダ\DSC03050.jpg").Select
End Sub
などと解釈されるような書き方になります。
ここから繰り返しの作業をさせるための共通部分を考える。
Sub Macro1()
Range("●●").Select
ActiveSheet.Pictures.Insert( _
"C:\Users\mit\Desktop\写真のフォルダ\●●●●.jpg").Select
Range("●●").Select
ActiveSheet.Pictures.Insert( _
"C:\Users\mit\Desktop\写真のフォルダ\●●●●.jpg").Select
End Sub
こんな感じでしょう。
ならば、
Sub Macro1()
Range("●●").Select
ActiveSheet.Pictures.Insert( _
"C:\Users\mit\Desktop\写真のフォルダ\●●●●.jpg").Select
End Sub
だけでいい。
あとは、●●と●●●●の部分に必要な値が入るように工夫するだけ。
●●で示されるC列のセルを選択し、そこの値を読み取って●●●●に当てはめてやれば良いということ。
このくらいのやり方は調べられますよね。
あとは「繰り返し」作業を行わせるだけになります。
必要なだけ●●を読み取り続ければいい。
・上から順番に値を読み取り、値が無くなったら繰り返し処理を終わらせるか、
・指定した行まで繰り返し処理を行い、●●●●の記述が無いセルには貼り付けないようにするか、
・すべての行に対して繰り返し処理を行い、●●●●の記述が無いセルには貼り付けないようにするか、
は質問者さんの考え方次第です。
・・・余談・・・
ごめん。
ここは作業依頼をする場所ではないのです。
疑問を解決するための場所なんです。
質問者さんが分からないところを分かるようにするための場所と言ったほうが良いでしょう。
たしかにそのものずばりのマクロを示せば目の前の問題は解決しますが、疑問は先送りにされるだけで、
似たような問題が出たときに自力での解決はできません。
それって本当に問題が解決したと言えるのでしょうか。
そんなわけで上記の説明の中で具体的に分からない点を補足などで質問すると良いと思います。
自力でマクロを作ることにより分からない点を明確にし、その分からない点を質問することで不足している知識を補うことができます。
がんばってください。
ありがとうございます。
余談。おっしゃる通りなのですが、セルの画像ファイル名と同じ画像を、画像フォルダから探して読み込み、セルに表示させるという繰り返しのループが分からず。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Excel(エクセル) Excel 毎日手作業で時間がかかって、泣きたいです、、、VBAのプロの方、助けてください。。。 3 2022/10/25 04:26
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法 1 2023/04/19 00:19
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Windows 10 JPG PNG サポートされていない形式 (JPGファイルで開ける、開けないがある場合) 4 2022/04/23 13:46
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
このQ&Aを見た人はこんなQ&Aも見ています
-
【お題】大変な警告
【大喜利】「今このパソコンは大変危険な状態です」という警告メッセージを無視してパソコンを開いたら、こんなことが起こった
-
人生最悪の忘れ物
今までの人生での「最悪の忘れ物」を教えてください。 私の「最悪の忘れ物」は「財布」です。
-
コンビニでおにぎりを買うときのスタメンはどの具?
コンビニでおにぎりを買うとき、何の具材を選ぶことが多いですか?
-
AIツールの活用方法を教えて
みなさんは普段どのような場面でAIツール(ChatGPTなど)を活用していますか?
-
【お題】斜め上を行くスキー場にありがちなこと
運営も客も一流を通り越して斜め上を行くスキー場にありがちなことを教えて下さい。
-
エクセルに張り付けた写真のファイル名が見たい
Microsoft ASP
-
エクセル、画像ファイル名の書かれたセル(複数個所)に画像を一括で表示させる方法
Excel(エクセル)
-
エクセル フォルダの画像を画像名で検索して貼り付け
Excel(エクセル)
-
-
4
Excel セルに入力した画像名からフォルダの画像を自動表示させたい
Excel(エクセル)
-
5
Excelで数字を入れたら対応する図を呼び出したい
Excel(エクセル)
-
6
マクロで画像挿入→エラー「リンクされたイメージを表
Excel(エクセル)
-
7
エクセルで次々と画像を表示させたい
Excel(エクセル)
-
8
複数の画像ファイルを挿入したい
Excel(エクセル)
-
9
マクロでセルに入れたファイル名の画像を隣のセルに読み込む
その他(Microsoft Office)
-
10
エクセル マクロ 相対パスから画像を読み込みたいです。
その他(Microsoft Office)
-
11
任意フォルダから画像をすべてエクセルの指定マスに貼り付けをしたい
Visual Basic(VBA)
-
12
ダブルクリックで貼り付けた画像からリンクのみ削除し、画像を残したい
Visual Basic(VBA)
-
13
VBAで選択した画像を貼り付けたい
Excel(エクセル)
-
14
VBA フォルダ名と画像ファイル名取得
Visual Basic(VBA)
-
15
【VBA】 結合セルに複数画像とファイル名一括挿入する方法
Visual Basic(VBA)
-
16
条件に一致したときに画像を表示したいのですが・・。
Excel(エクセル)
-
17
VBAで「エクセルに写真を貼り付け、外のセルに撮影月日を『和暦』で自動記載」させたい
Excel(エクセル)
-
18
Pictures.Insertメソッド⇒Shapes.AddPictureメソッドに変更したいです。
Visual Basic(VBA)
-
19
エクセルVBAで縦向きの画像の挿入・回転
Excel(エクセル)
-
20
Excel VBA マクロ 画像の貼り付け
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel関数】UNIQUE関数で"0"...
-
結合されたセルをプルダウンの...
-
特定の文字がある行以外を削除...
-
Excel グラフのプロットからデ...
-
エクセルのセルに指定画像(.jpg...
-
エクセル マクロ オートフィ...
-
エクセル マクロで数値が変っ...
-
エクセルで特定の文字列が入っ...
-
電話番号の入力方式が違うデー...
-
エクセルマクロで偶数行(又は...
-
EXCELマクロを使い、空白行では...
-
excelのデータで色つき行の抽出...
-
連続データが入った行の一番右...
-
[EXCEL]ボタン押す→時刻が表に...
-
エクセルVBA 最終行を選んで並...
-
エクセル 時間の表示形式AM/PM...
-
A1に入力された文字列と同じ文...
-
アクティブになっている行をマ...
-
エクセル 上下で列幅を変えるには
-
Excelでカタカナ・ひらがな・英...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで特定の文字列が入っ...
-
特定の文字がある行以外を削除...
-
[EXCEL]ボタン押す→時刻が表に...
-
Excel グラフのプロットからデ...
-
エクセル マクロ オートフィ...
-
エクセル マクロで数値が変っ...
-
結合されたセルをプルダウンの...
-
Excelのフィルター後の一番上の...
-
excel 小さすぎて見えないセル...
-
エクセル 上下で列幅を変えるには
-
エクセルマクロで偶数行(又は...
-
Excel ウインドウ枠の固定をす...
-
EXCELで最後の行を固定
-
VBAで色の付いているセルの行削除
-
連続データが入った行の一番右...
-
エクセル 時間の表示形式AM/PM...
-
エクセルのセルに指定画像(.jpg...
-
エクセルVBA 最終行を選んで並...
-
アクティブになっている行をマ...
おすすめ情報