よろしくお願いします。
Windows XP Pro SP2
Excel 2007
大量にあるjpg画像をExcelへ一括で貼りつけたく、
Web上でマクロを探していました。
下記がヒットしたので、使用してみたのですが、
良回答となっているどちらの方法を試しても
同じ場所に貼り付けられるだけで
ちゃんと並んでくれませんでした。
なぜでしょうか?
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1182506
また、上記マクロでなくとも、
大量にあるjpg画像をExcelへ
・縦に
・順番に
・統一されたサイズで
・一括で
貼りつけていくマクロをご存じでしたら教えてください。
どうぞよろしくお願いします。
No.5ベストアンサー
- 回答日時:
>次のように修正してマクロを実行したのですが、
>.ShapeRange.Width = ActiveCell.Resize(10).Width
>
>既存の1セルの横幅と同じサイズで画像が張り付けられました。
>なぜ横10セル分の横幅にならないのでしょうか?
ヘルプからの抜粋ですが、Resizeプロパティの構文は
式.Resize(RowSize, ColumnSize)
です。
ActiveCell.Resize(10).Width
上記は、RowSize(行数)を指定しています。
ColumnSize(列数)を省略した書き方になっています。
RowSize(行数)を省略し、ColumnSize(列数)を指定した書き方に直してください。
尚、省略した場合は元のサイズが適用されます。
あと上の方にある
.ShapeRange.LockAspectRatio = msoTrue
で、縦横比が固定されています。
従って、省略した方の画像サイズは、縦横比が適用され自動的に変更されます。
No.4
- 回答日時:
.ShapeRange.Height = 200
あるいは
.ShapeRange.Height = ActiveCell.Resize(25).Height
といった感じになります。
サイズに応じて、貼り付け先セルを調整する必要が出てきます。
ActiveCell.Offset(2, 0).Activate
ご回答ありがとうございます。
教えてくださった点を修正して試してみました。
うまく貼り付けることができました。
ただ、さらに、試しに下記の部分を
.ShapeRange.Height = ActiveCell.Resize(25).Height
次のように修正してマクロを実行したのですが、
.ShapeRange.Width = ActiveCell.Resize(10).Width
既存の1セルの横幅と同じサイズで画像が張り付けられました。
なぜ横10セル分の横幅にならないのでしょうか?
No.3
- 回答日時:
With pict
'.TopLeftCell = ActiveCell '(1)ここを止めて(2)(3)にする
.Top = ActiveCell.Top '(2)
.Left = ActiveCell.Left '(3)
.ShapeRange.LockAspectRatio = msoTrue
'どちらかをコメントアウト
.ShapeRange.Height = ActiveCell.Height 'セルの高さリサイズ
'.ShapeRange.Width = ActiveCell.Width 'セルの幅にリサイズ
ActiveCell.Offset(0, 1) = fName(i) 'ファイル名書込み
End With
アドバイスありがとうございます。
遅くなりましたが、試させていただきました。
教えてくださった点を修正することでエラーにならず、
また順番に並んでくれました。
確認ですが、セルのサイズに合わせることしかできない
ものなのでしょうか?
例えば、画像の左上だけをセルに合わせて、
そのまま(もしくは任意)のサイズで画像をはりつけるのは難しいことなのでしょうか。
No.2
- 回答日時:
> 大量にあるjpg画像をExcelへ
> ・順番に(?)
> ・統一されたサイズで
> ・一括で
すべての行高が18Pic、列幅が72Picのシートを前提に、指定した
ディレクトリの画像を、横4列で貼り付けます。
シートのA1に対象フォルダのフルパスを入力してから実行します。
Sub Album1()
Dim FPath, FName, R, C, i, H, W
Application.ScreenUpdating = False
FPath = Range("A1").Value & "\"
FName = Dir$(FPath & "*.*")
Do While FName <> ""
i = i + 1
R = 10 * Int((i - 1) / 4) + 3 '※1
C = 3 * ((i - 1) Mod 4) + 1 '※2
ActiveSheet.Cells(R, C).Select
ActiveSheet.Pictures.Insert(FPath & FName).Select
H = Selection.Height
W = Selection.Width
Selection.Height = 120 '※3
Selection.Width = 120 * W / H '※3
FName = Dir$
Loop
Application.ScreenUpdating = True
End Sub
縦1列のみの場合は、
※1:R = 10 * (i - 1) + 3
※2:削除
です。
※3は写真のサイズを指定しています。
サイズを変更する場合は、貼り付けるセル位置(※1、※2)も
変更したほうがよいでしょう。
この回答への補足
実験させていただきました。
<状況>
教えてくださったコードをそもまま使いましたところ、
やはり同じ個所に画像が貼り付けられてしまい、
並んではくれませんでした。
また、「縦1列のみの場合」も試してみましたが、こちらは
「1:R = 10 * (i - 1) + 3」の次の行でエラーとなるようです。
(エラーになりデバッグ画面を開いたところ上記が示されました)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 毎日手作業で時間がかかって、泣きたいです、、、VBAのプロの方、助けてください。。。 3 2022/10/25 04:26
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Excel(エクセル) Excelの複数ファイルの複数行を別ファイル1つのシートにVBA、マクロで集約する方法 5 2022/09/13 06:30
- Excel(エクセル) Excel2019 マクロを使用し画像を貼り付けした際のリンク切れについて 2 2022/11/15 16:14
- Excel(エクセル) EXCEL マクロで 同じフォルダ内の複数ファイルの複数行全体を選択して1つのファイルに集約 4 2022/09/27 18:41
- Excel(エクセル) EXCELのグラフを画像(JPG形式)で保存、通常実行がうまく行かない。ステップインはうまく行く 3 2022/08/30 12:06
- Excel(エクセル) EXCELマクロでandroidタブレットから取りんだJPEGファイルをうまくセルに貼り付けられない 2 2022/07/31 15:03
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Excel(エクセル) 【マクロ】プリントスクリーンした画像をエクセルに貼付して印刷したい 6 2022/11/30 20:11
- Excel(エクセル) 【至急 詳しい方教えて下さい】Excelの表を変換したい 6 2022/04/21 18:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
Excelで挿入した図をセルの中央...
-
現在のセルの位置を返す関数は...
-
エクセルでの検索ボックスの作...
-
クリックすると文章が表示され...
-
マクロを実行すると画像がズレ...
-
【EXCEL】先週の月曜日の日付を...
-
Excelでセルをクリックす...
-
太字に設定されているセルの個...
-
セルがクリックされた回数をカ...
-
Excelで、図形内の文字をセルに...
-
Excel ハイパーリンクのURLを別...
-
Excel2007 色のカウント (VBA)
-
エクセルマクロ 赤色の文字を検...
-
フォントの色を指定して削除出...
-
アポストロフィーの一括挿入 ...
-
エクセルグラフ数値軸の最大最...
-
セル背景や文字を点滅させる方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
マクロを実行すると画像がズレ...
-
太字に設定されているセルの個...
-
Excelで、図形内の文字をセルに...
-
Excelで挿入した図をセルの中央...
-
フォントの色を指定して削除出...
-
Excel ハイパーリンクのURLを別...
-
エクセルでPDFリンクを大量...
-
エクセル 未入力セルがあると...
-
現在のセルの位置を返す関数は...
-
VBA 見つからなかった時の処理
-
EXCELのセルや文字色の反映
-
【EXCEL】先週の月曜日の日付を...
-
セルの値が変ると自動でマクロ...
-
エクセルでセルをダブルクリッ...
-
アポストロフィーの一括挿入 ...
おすすめ情報