Excel 我可以将自动填充限制为仅包含单元格内容吗?

Excel 我可以将自动填充限制为仅包含单元格内容吗?,excel,vba,Excel,Vba,我编写了一个宏,它使用Range.AutoFill。令人惊讶的是,它也自动填充表单控件 Public Sub onetwobucklemyshoe() With Sheet1 .Range("a1:a2").AutoFill .Range("a1:a10"), xlFillValues End With End Sub 有没有办法阻止它这样做(我认为xlFillValues就足够了)。否则,我可以在VBA中使用for循环来实现,但这似乎是浪费 版本:Excel Office 365 16.

我编写了一个宏,它使用
Range.AutoFill
。令人惊讶的是,它也自动填充表单控件

Public Sub onetwobucklemyshoe()
With Sheet1
.Range("a1:a2").AutoFill .Range("a1:a10"), xlFillValues
End With
End Sub

有没有办法阻止它这样做(我认为
xlFillValues
就足够了)。否则,我可以在VBA中使用for循环来实现,但这似乎是浪费


版本:Excel Office 365 16.0.12325.20280/Windows 10。

将表单控件属性设置为
不随单元格移动大小。


您可以将此部分放在代码的开头

Sub testMakeSh()
 Dim sh As Worksheet
  Set sh = ActiveSheet
  MakeShapeFloating sh
End Sub
并将下一个函数放在模块中的某个位置:

Sub MakeShapeFloating(sh As Worksheet)
 Dim s As Shape
  For Each s In sh.Shapes
     s.Placement = xlFreeFloating
  Next
End Sub

我建议您更改“不要移动或调整单元格大小”中的控件
对象定位
属性。。。