Page 861 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼画像貼り付け じゅん 03/3/10(月) 13:41 ┗Re:画像貼り付け [名前なし] 03/3/11(火) 11:28 ┗上のHNが消えてました Jaka 03/3/11(火) 11:31 ─────────────────────────────────────── ■題名 : 画像貼り付け ■名前 : じゅん ■日付 : 03/3/10(月) 13:41 -------------------------------------------------------------------------
こんにちは! 下記のようなコードで、画像をExcelセルでの指定した範囲に連続挿入するのですが、 2回目以降の貼り付けの際、初回に貼り付けられた画像の位置が変わるだけでうまくいきません。 多分SET画像(Variant型)ステートメントが初期化されていないからだと思うのですが、 どのように直せばよいか教えて下さい。 宜しくお願いします。 Sub Macro1() 'セル範囲 Dim msg As String msg = "画像を貼り付けるセル範囲を指定して下さい。" & Chr$(10) & _ "(比率変換の場合は横サイズを基準にしています)" Set scel = Application.InputBox(msg, "セル指定", Type:=8) scel.Select x = ActiveCell.Column y = ActiveCell.Row x2 = Selection.Width y2 = Selection.Height Range("A1").Select fname = Application.GetOpenFilename _ ("画像ファイル,*.gif;*.jpg;*.bmp", 1, "画像ファイルを指定して下さい") If fname = False Then Exit Sub End If Application.ScreenUpdating = False 'マクロの実行中に画面更新をしない ActiveSheet.Pictures.Insert(fname).Select Selection.Name = "gazou" Set 画像 = ActiveSheet.Shapes("gazou") With 画像 .LockAspectRatio = True '比率変換 .Placement = xlFreeFloating '位置やサイズは変わらない .ScaleHeight 1, True .ScaleWidth 1, True .Left = Cells(y, x).Left .Top = Cells(y, x).Top .Width = x2 .Height = y2 End With Range("A1").Select End Sub |
こんにちは。 問題は、貼りつけた画像の名前がいつも同じなんで...。 貼りつける前に削除していれば問題は無いんですけどね。 削除する時は、画像が無い場合も考えてエラートラップは忘れずに。 これじゃヤダってことでしたら、 ichinoseさんの[#4240]をヒントにすると。 こんな感じかなぁ。 Selection.Name = "gazou" & ActiveSheet.Shapes.Count Set 画像 = ActiveSheet.Shapes("gazou" & ActiveSheet.Shapes.Count) |
知らんうちにHNが消えてたって事は、このPCまだ不安定なのかなぁ? あっ、このレスは無視してください。 |