• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:画像をアクティブセルの左上隅に配置し任意のセルに)

画像をアクティブセルの左上隅に配置し任意のセルに

このQ&Aのポイント
  • 画像をアクティブセルの左上隅に配置し、任意のセルに画像ファイル名を自動で入力する方法について教えてください。
  • FilePathを使用して画像を選択し、アクティブシートに貼り付けます。また、ファイル名をC2セルに自動で入力する方法についても教えてください。
  • 拡張子を明記するコードとしないコードの二つを組み合わせることで、希望する動作を実現できると思います。具体的な手順をお教えします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

sub macro1()  dim myFile as string  myfile = application.getopenfilename(FileFilter:="画像 ,*.png; *.jpg; *.gif; *.bmp", Title:="ファイルの選択")  if myfile = "False" then exit sub  if activecell.row = 1 then activecell.offset(1).select  ActiveSheet.Pictures.Insert(myfile).Select  Selection.ShapeRange.LockAspectRatio = msoTrue  Selection.ShapeRange.Width = Selection.ShapeRange.Width * 1#  Selection.ShapeRange.Left = ActiveCell.Left + 2.25  Selection.ShapeRange.Top = ActiveCell.Top + 2.25  With Selection.ShapeRange.Line   .Weight = 2.25 '線の太さを2.25に   .ForeColor.RGB = RGB(255, 0, 0) '赤枠に  End With  myfile = dir(myfile) '拡張子を表示したくないときは下記を生かす 'myfile = left(myfile, instr( myfile, ".") -1)  activecell.offset(-1, 0) = myfile end sub みたいな。

ryuujinn11
質問者

お礼

ありがとうございます 的確にご教授頂けて嬉しいです 困っていたので嬉しいです

その他の回答 (1)

  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

>・・・RGB(255, 0, 0) '赤枠に 赤枠を表示するのなら Line.Visible = msoTrue としなければ Sub 図形挿入()   Dim FilePath As Variant   FilePath = Application.GetOpenFilename(FileFilter:="画像 ,*.png; *.jpg; *.gif; *.bmp", Title:="ファイルの選択")   If FilePath = False Then Exit Sub   With ActiveSheet.Pictures.Insert(FilePath).ShapeRange     .LockAspectRatio = msoTrue     .Width = .Width * 1#     .Left = ActiveCell.Left + 2.25     .Top = ActiveCell.Top + 2.25     With .Line       .Weight = 2.25       .Visible = msoTrue '線を表示       .ForeColor.RGB = RGB(255, 0, 0) '赤枠に     End With   End With   ActiveCell.Offset(0, -1) = Dir(FilePath)   '拡張子を表示しない場合   'ActiveCell.Offset(0, -1) = Split(Dir(FilePath), ".")(0) End Sub

ryuujinn11
質問者

お礼

ありがとうございます まさにやりたいことです 大変助かりました 嬉しいです

関連するQ&A