With picture names in column, add picture to fit cell dimensions
Solved/Closed
elenimac
-
Updated on Oct 15, 2020 at 11:48 AM
TrowaD Posts 2921 Registration date Sunday September 12, 2010 Status Moderator Last seen December 27, 2022 - Oct 13, 2020 at 11:44 AM
TrowaD Posts 2921 Registration date Sunday September 12, 2010 Status Moderator Last seen December 27, 2022 - Oct 13, 2020 at 11:44 AM
Related:
- With picture names in column, add picture to fit cell dimensions
- Convert picture to shape powerpoint - Guide
- Microsoft picture manager download - Download - Image viewing and management
- 2007 microsoft office add-in microsoft save as pdf or xps - Download - Other
- Ideogram ai names - Guide
- Start steam in big picture mode - Guide
1 response
TrowaD
Posts
2921
Registration date
Sunday September 12, 2010
Status
Moderator
Last seen
December 27, 2022
555
Oct 13, 2020 at 11:44 AM
Oct 13, 2020 at 11:44 AM
Hi Elenimac,
Have a look at the adjustments to your code, they are the comments starting with ***** (code line 33, 42, 43, 65):
Best regards,
Trowa
Have a look at the adjustments to your code, they are the comments starting with ***** (code line 33, 42, 43, 65):
Private Sub CommandButton1_Click() Dim pictureNameColumn As String 'column where picture name is found Dim picturePasteColumn As String 'column where picture is to be pasted Dim pictureName As String 'picture name Dim lastPictureRow As Long 'last row in use where picture names are Dim pictureRow As Long 'current picture row to be processed Dim pathForPicture As String 'path of pictures pictureNameColumn = "A" picturePasteColumn = "B" pictureRow = 2 'starts from this row 'error handler On Error GoTo Err_Handler 'find row of the last cell in use in the column where picture names are lastPictureRow = Cells(Rows.Count, pictureNameColumn).End(xlUp).Row 'stop screen updates while macro is running Application.ScreenUpdating = False pathForPicture = "C:\Users\nicole.dalton\Desktop\pictures\" 'loop till last row Do While (pictureRow <= lastPictureRow) pictureName = Cells(pictureRow, "A") 'This is the picture name 'if picture name is not blank then If (pictureName <> vbNullString) Then 'check if pic is present If (Dir(pathForPicture & pictureName & ".jpg") <> vbNullString) Then '***** Removed e from .jpeg Cells(pictureRow, picturePasteColumn).Select 'This is where picture will be inserted ActiveSheet.Pictures.Insert(pathForPicture & pictureName & ".jpg").Select 'Path to where pictures are stored With Selection .Left = Cells(pictureRow, picturePasteColumn).Left .Top = Cells(pictureRow, picturePasteColumn).Top .ShapeRange.LockAspectRatio = msoFalse .ShapeRange.Height = .TopLeftCell.RowHeight '***** Changed fixed value with variable .ShapeRange.Width = .TopLeftCell.Width '***** Changed fixed value with variable .ShapeRange.Rotation = 0# End With Else 'picture name was there, but no such picture Cells(pictureRow, picturePasteColumn) = "No Picture Found" End If Else 'picture name cell was blank End If 'increment row count pictureRow = pictureRow + 1 Loop Exit_Sub: Range("A10").Select Application.ScreenUpdating = True Exit Sub Err_Handler: MsgBox "Error encountered. " & Err.Description, vbCritical, "Error" GoTo Exit_Sub End Sub '***** Added line
Best regards,
Trowa