社員名簿の作成で困っています。
セル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
マクロは初心者です。
どこを直したらよいか、どなたか教えて下さい。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
とりあえず次の二行ですかね。
Shp.Left = Rng.offset(0, -1).Left
Shp.Height = Rng.Offset(0,-1).mergearea.Height
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) VBA 1 2023/04/27 13:37
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
クリックすると文章が表示され...
-
太字に設定されているセルの個...
-
Excelで、図形内の文字をセルに...
-
アポストロフィーの一括挿入 ...
-
Excel ハイパーリンクのURLを別...
-
フォントの色を指定して削除出...
-
マクロを実行すると画像がズレ...
-
Excelでセルをクリックす...
-
エクセル シート保護された共...
-
Excelで挿入した図をセルの中央...
-
エクセルでPDFリンクを大量...
-
EXCELのセルや文字色の反映
-
エクセルマクロ 赤色の文字を検...
-
セル背景や文字を点滅させる方法
-
エクセル シートを保護してる...
-
[エクセル VBA]テキストファ...
-
excelで セルの移動時に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
エクセル 数字をすべて○などの...
-
Excel内での検索結果をシート...
-
Excelで、図形内の文字をセルに...
-
マクロを実行すると画像がズレ...
-
クリックすると文章が表示され...
-
Excelでセルをクリックす...
-
Excelで挿入した図をセルの中央...
-
太字に設定されているセルの個...
-
現在のセルの位置を返す関数は...
-
セルがクリックされた回数をカ...
-
エクセルでの検索ボックスの作...
-
Excel ハイパーリンクのURLを別...
-
エクセルでPDFリンクを大量...
-
Excel2007 色のカウント (VBA)
-
フォントの色を指定して削除出...
-
【EXCEL】先週の月曜日の日付を...
-
VBA 見つからなかった時の処理
-
エクセルでページ数をあるセル...
-
空白セルを空セルに置き換える...
おすすめ情報