I did a simple copy+paste of you code, with some modifications so it would work in a brand new, blank workbook:
Option Explicit
Sub testCode()
Dim cBox As Object
Set cBox = Sheet1.OLEObjects.Add(ClassType:="Forms.ComboBox.1")
With cBox
.Left = Sheet1.Range("N1").Left
.Top = Sheet1.Range("N1").Top
.width = Sheet1.Range("N1").width
.height = Sheet1.Range("N1").height
.ListFillRange = "Sheet3!$A1:$A3"
.Locked = False
End With
End Sub
The above code worked fine for me, in developer mode it says that the locked property is false.
I am using Microsoft Excel 2007.
It could be something to do with your i
variable, since the only difference is that I just used a static range of N1
and it worked fine. Though I'm not sure how the sizing of it could cause it to not lock.
Try copying and pasting my code yourself and see what it spits out.