アプリ版:「スタンプのみでお礼する」機能のリリースについて

社員名簿の作成で困っています。

セルC4、C9、C14、C19…とE4、E9、E14、E19…に社員コードを入力すると、所属・氏名・入社年月日・勤続年数がVLOOKUP関数で表示されるように作成しました。

写真も表示されるようにいろいろな所を検索して、マクロをコピーしてみました。
表示はされるのですが、うまく表示されません。
表示場所は、B4:B8、B9:B13…と社員コードの左側の結合セルです。

Private Sub Worksheet_Change(ByVal Target As Range)

Dim TgRng As Range
Dim Rng As Range
Dim Shp As Shape
Const PathN = "画像フォルダの場所"
Set TgRng = Intersect(Range("C4,C9,C14,C19,C24,C29,E4,E9,E14.E19,E24,E29"), Target)
If TgRng Is Nothing Then Exit Sub
For Each Rng In TgRng
For Each Shp In ActiveSheet.Shapes
If Not Intersect(Shp.TopLeftCell, Rng.Offset(0,-1).MergeArea) Is Nothing Then
Shp.Delete
End If
Next
If Not IsEmpty(Rng.Value) And Dir(PathN & Rng.Value & ".jpg") <> "" Then
Set Shp = ActiveSheet.Shapes.AddPicture(PathN & Rng.Value & ".jpg", False, True, 50, 50, 50, 50)
Shp.LockAspectRatio = msoFalse
Shp.Top = Rng.Offset(0,-1).Top
Shp.Left = Rng.Left
Shp.Height = Rng.Offset(0,-1).Height
Shp.Width = Rng.Offset(0,-1).MergeArea.Width
Else
If Not IsEmpty(Rng.Value) Then _
MsgBox "ファイルが見つかりません。", vbExclamation
End If
Next
Set Shp = Nothing
Set TgRng = Nothing

End Sub



マクロは初心者です。
どこを直したらよいか、どなたか教えて下さい。
よろしくお願いします。

「社員名簿に写真を表示させるマクロを教えて」の質問画像

A 回答 (2件)

とりあえず次の二行ですかね。


Shp.Left = Rng.offset(0, -1).Left
Shp.Height = Rng.Offset(0,-1).mergearea.Height
    • good
    • 0
この回答へのお礼

できました!
本当に本当にありがとうございました。

お礼日時:2014/01/08 14:33

自分で考えて間違いを見つけなければ、なにも進歩しませんし、このままですよ?


初心者なら、なおさら。まあ、後半のほうに何か付け足すとでも言っておきましょうか。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!