Monday, January 17, 2022

Create a form with an image using VBA | Without using UserForm | How to ...


Code

Private Sub cmdAdd_Click()
On Error Resume Next
Dim imagepath As String
imagepath = Application.GetOpenFilename(filefilter:="Picture files,*.gif;*.jpg;*.jpeg", Title:="Add Picture")

If imagepath <> False Then
Sheet1.Image1.Picture = LoadPicture(imagepath)
Sheet1.Image1.Visible = True
End If
End Sub

Private Sub cmdClear_Click()
Sheet1.Range("E7").Value = ""
Sheet1.Range("E9").Value = ""
Sheet1.Range("E11").Value = ""
Sheet1.Range("E13").Value = ""
Sheet1.Range("D3").Value = ""

PicClear = Sheet1.Range("A19").Value
Sheet1.Image1.Picture = LoadPicture(PicClear)
Sheet1.Image1.Visible = True

End Sub

Private Sub cmdSave_Click()
Dim LastRow As Long
Dim PicPath As String


If Sheet1.Range("E7").Value = "" Then MsgBox "Please enter the Name", vbCritical: Exit Sub
If Sheet1.Range("E9").Value = "" Then MsgBox "Please enter Email", vbCritical: Exit Sub
If Sheet1.Range("E11").Value = "" Then MsgBox "Please enter Phone number", vbCritical: Exit Sub
If Sheet1.Range("E13").Value = "" Then MsgBox "Please enter the country", vbCritical: Exit Sub

LastRow = Sheet2.Range("A" & Rows.Count).End(xlUp).Row + 1

Sheet2.Cells(LastRow, "A").Value = Sheet1.Range("E7").Value
Sheet2.Cells(LastRow, "B").Value = Sheet1.Range("E9").Value
Sheet2.Cells(LastRow, "C").Value = Sheet1.Range("E11").Value
Sheet2.Cells(LastRow, "D").Value = Sheet1.Range("E13").Value

NamePic = Sheet1.Range("E7").Text
SavePicture Image1.Picture, ThisWorkbook.Path & "\" & NamePic & ".jpg"
PicPath = ThisWorkbook.Path & "\" & NamePic & ".jpg"

Sheet2.Cells(LastRow, "E").Value = PicPath
MsgBox "Save Success", vbInformation

Sheet1.Range("E7").Value = ""
Sheet1.Range("E9").Value = ""
Sheet1.Range("E11").Value = ""
Sheet1.Range("E13").Value = ""
Sheet1.Range("D3").Value = ""


PicClear = Sheet1.Range("A19").Value
Sheet1.Image1.Picture = LoadPicture(PicClear)
Sheet1.Image1.Visible = True


End Sub

Private Sub cmdSearch_Click()

Dim Lsearch As Integer
Sheet2.Range("G1").Value = Sheet1.Range("D3").Value

If IsNumeric(Sheet2.Range("F1").Value) = True Then
Lsearch = Sheet2.Range("F1").Value

Sheet1.Range("E7").Value = Sheet2.Cells(Lsearch, "A").Value
Sheet1.Range("E9").Value = Sheet2.Cells(Lsearch, "B").Value
Sheet1.Range("E11").Value = Sheet2.Cells(Lsearch, "C").Value
Sheet1.Range("E13").Value = Sheet2.Cells(Lsearch, "D").Value


PicSearch = Sheet2.Cells(Lsearch, "E").Value
Sheet1.Image1.Picture = LoadPicture(PicSearch)
Sheet1.Image1.Visible = True

Else
MsgBox "This contact does not exist"

End If

End Sub

2 comments:

  1. Any instructions on how to add a search feature?

    ReplyDelete
  2. This was the basics I needed and was easy to follow but I was wondering how to add checkboxes into this so I don't have so many fields to do data entry into. So I would want them to clear as well with the clear button and fill in yes/no on the form section. If this is possible? I

    ReplyDelete