So, I have been intensively browsing here and various websites in interwebs, but it is difficult for me to find the answer. I am also not the most experienced VBA user.
Basically, I need: When I click the button, the Insert Image dialog box opens, the user selects one image file, and the image should be inserted into cell B2. Ideally, I would like to resize this image so that it is not larger than X and not higher than Y.
This is my code so far (which gives me a "424 runtime error" and points to the line TextBox1.Value). Any suggestions or improvements are always welcome!
Sub ChangeImage()
With Application.FileDialog(msoFileDialogFilePicker)
.AllowMultiSelect = False
.ButtonName = "Submit"
.Title = "Select an image file"
.Filters.Clear
.Filters.Add "JPG", "*.JPG"
.Filters.Add "JPEG File Interchange Format", "*.JPEG"
.Filters.Add "Graphics Interchange Format", "*.GIF"
.Filters.Add "Portable Network Graphics", "*.PNG"
.Filters.Add "Tag Image File Format", "*.TIFF"
.Filters.Add "All Pictures", "*.*"
If .Show = -1 Then
TextBox1.Value = .SelectedItems(1)
Image1.PictureSizeMode = fmPictureSizeModeZoom
Image1.Picture = LoadPicture(.SelectedItems(1))
Else
MsgBox ("Cancelled.")
End If
End With
End Sub
Thank!
-A
source
share