|
カテゴリ:MS Office/Excel VBA
☆エクセルのシートへ画像ファイルを挿入し、セルのサイズ(セル範囲)に合わせて拡大・縮小して貼り付けてくれるVBAサンプルプログラム。
*** サンプルプログラムの使い方 *** 新規でエクセルを開き、VBA編集画面から"ThisWorkbook"オブジェクトを開いて、下記プログラムリストをコピー&ペーストで貼り付け、マクロ名「ThisWorkbook.Sample_Prg」を実行すると、"Sheet1"の"C4:C5"のセル範囲に iPicture(任意の画像ファイル)の画像が挿入されているのが確認できます。 注1:変数 iPicture(任意の画像ファイル)の'絶対パス'及び'ファイル名'については、 ご使用環境に合わせて適宜設定して下さい。 なお、設定内容に誤りがある場合「実行時エラー'1004':アプリケーション定義 またはオブジェクト定義のエラーです」などのメッセージで停止します。 Sub Sample_Prg() Dim iPicture As String Dim iSheet As String Dim iCell As String '***************** サンプル変数値の設定 **************** iPicture = "C:\MY DOCUMENTS\MY PICTURES\サンプル.jpg" '挿入する画像ファイル ⇒ 注1 iSheet = "Sheet1" '挿入先のシート名称 iCell = "C4:C5" '挿入先のセルの範囲 '***************** 画像ファイルの挿入 ****************** Call MovPicture(iPicture, iSheet, iCell) End Sub Sub MovPicture(iPicture As String, iSheet As String, _ iCell As String) ' ' Sample Macro ' 作成日 : 2007/5/10 作成者名 : ロートルPG ' Dim MovCell As Range Dim MovLeft As Double Dim MovTop As Double Dim MovHeight As Double Dim MovWidth As Double Set MovCell = Range(iCell) '********** 目的のシート(セル範囲)へ画像を貼付け ******** With MovCell MovLeft = .Left MovTop = .Top MovHeight = .Cells(.Count).Offset(1).Top - .Top MovWidth = .Cells(.Count).Offset(, 1).Left - .Left End With Sheets(iSheet).Pictures.Insert (iPicture) '画像ファイルの挿入 With Sheets(iSheet).Pictures(Sheets(iSheet).Pictures. _ Count).ShapeRange .LockAspectRatio = msoFalse .Parent.Visible = msoTrue .Left = MovLeft .Top = MovTop .Height = MovHeight .Width = MovWidth End With End Sub お気に入りの記事を「いいね!」で応援しよう
[MS Office/Excel VBA] カテゴリの最新記事
|