How to extract images from comments in Excel?
In Excel, you can insert image into the comment as easily as you can, but, have you ever considered extracting the images from comment boxes into cells or into a specific folder? This article, I will talk about how to extract the images from comments.
If you want to extract and save the images from comments into a folder, please do as follows:
1. Copy the sheet which contains the comments with images that you want to save into a new blank workbook.
2. And then click File > Save As to save this new workbook as Web Page format in a specific folder, see screenshot:
3. Then click Save button to save the file, then go to the specific folder to view the saved images, two files are generated in the folder, one is the html file, and another is a folder that contains all the images and other files, see screenshot:
If you want to extract the images from comments into cells as following screenshot shown, here, I can create a VBA code for you, please do as this:
1. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.
VBA code: Extract images from comments into cells:
Sub CommentPictures() 'Updateby Extendoffcie Dim cmt As Comment Dim xRg As Range Dim visBool As Boolean Dim cmtTxt As String Dim jpgPath As String Dim shpHeight As Integer, shpWidth As Integer Application.ScreenUpdating = False For Each cmt In ActiveSheet.Comments With cmt cmtTxt = .Text shpHeight = .Shape.Height shpWidth = .Shape.Width .Text Text:="" & Chr(10) & "" visBool = .Visible .Visible = True On Error Resume Next Set xRg = .Parent.Offset(0, 1) .Shape.CopyPicture _ Appearance:=xlScreen, Format:=xlPicture xRg.PasteSpecial Selection.ShapeRange.LockAspectRatio = msoFalse Selection.Width = xRg.Width Selection.Height = xRg.Height .Visible = visBool .Text Text:=cmtTxt End With Next cmt Application.ScreenUpdating = True End Sub
3. Then press F5 key to run this code, and all the images of the comments in current worksheet have been extracted into the next column cells, see screenshot: