View Single Post
  #3   Report Post  
clvrbas clvrbas is offline
Junior Member
 
Posts: 12
Default

This works really great, one problem though; when I protect the sheet it re sizes to normal size and has an error, is there a way around that?

Quote:
Originally Posted by isabelle View Post
hi,

Private Sub CommandButton1_Click()
Dim fd As FileDialog
Dim ffs As FileDialogFilters
Dim Rng As Range
Set Rng = ActiveSheet.Range("B8") ' adapt to your range
Rng.Select
Set fd = Application.FileDialog(msoFileDialogOpen)
With fd
Set ffs = .Filters
With ffs
.Clear
.Add "Pictures", "*.jpg"
End With
.AllowMultiSelect = False
If .Show = False Then Exit Sub
Fichier = fd.SelectedItems(1)
Set Pict = ActiveSheet.Pictures.Insert(Fichier)
Pict.ShapeRange.LockAspectRatio = msoFalse
Pict.Height = Rng.Height
Pict.Width = Rng.Width
End With
End Sub

isabelle

Le 2014-07-18 11:06, clvrbas a écrit :
Hi there,

I am struggling on getting a VBA script to work correctly for a
spreadsheet and I am seeking guidance. I am using Excell 2007
Professional and what I am trying to do is create a profile pages for an
event at work.

What i'm trying to do is have the profile page set up, and where the
picture will go have a box the user can click, once they click the box
it will load a window for them to browse their computers directory to
find the image, choose the image and say "ok" and it will insert and
resize the image to the specified cell size. Once the image is inserted
the box would either be covered up or disapear.

Can this be achieved? All I have been able to figure out is the
following which will not resize or set destination cell and only allows
JPEG's.

Please help! I am new to trying to code VBA projects.

Private Sub CommandButton1_Click()
Dim JPeg()
Dim flname As Variant
flname = Application.GetOpenFilename
If flname < False Then
If Right(flname, 3) = "jpg" Then
ActiveSheet.Pictures.Insert (flname)
Else
MsgBox "That is not a jpeg file"
End If
End If
End Sub