Saya jelaskan dulu, yang pertama ketika worksheet di protect, maka kita tidak bisa menggunakan Form bawaan Excel, memang bisa menampilkan Formnya tapi tidak akan bisa menambah atau menghapus isi datanya.
kedua, untuk method Protect ini letaknya di bawah object Worksheet, jadi secara penempatan kodenya salah.
Sub BukaForm()
With Range("D5").CurrentRegion.Name = "database"
EnableOutlining = True
.Protect Password:="123", _
UserInterfaceOnly:=True
End With
ActiveSheet.ShowDataForm
End Sub
Untuk bisa menggunakan Formnya maka Worksheetnya harus di unprotect dulu, penulisan kodenya harusnya seperti ini:
Sub BukaForm()
Sheet13.Unprotect "123" 'Membuka Kunci Worksheet
Range("D5").CurrentRegion.Name = "database" 'Menamai Range
ActiveSheet.ShowDataForm 'Membuka Form
Sheet13.Protect "123" 'Mengunci Worksheet
End Sub