我有一个执行许多函数并能正常工作的宏,但按钮在两种情况之一中调整大小。当宏使用一个自动过滤器时,这些按钮会发生变化,这会自动删除大约500行数据(按钮变得更大),而且在我运行程序之前首次粘贴数据时,它们也会调整大小(再次变大)。我试图进入属性并选择“不要移动或使用单元格大小”来定位对象。我也尝试锁定按钮的长宽比。但是没有保持按钮的大小。我还有什么可以尝试的想法?在excel-vba上粘贴的按钮大小调整
回答
我认为这应该做的伎俩。
我以前见过的另一件事是,如果按钮更改,字体大小有时会发生变化。我包括这个,但留下了它的评论。您可能还需要/不需要重置按钮的位置.TopLeftCell
,其中也包括在内,但在下面的代码注释:
'## Add the following to your existing macro:
Dim btn As Shape
Dim btLeft As Double, btTop As Double, btWidth As Double, _
btHeight As Double, btFontSize As Double
Dim btCell As Range
'## Put this block of code before your existing code:
Set btn = ActiveSheet.Shapes("Button 3") '## Modify to your button name
With btn
btLeft = .Left
btTop = .Top
btHeight = .Height
btWidth = .Width
'btFontSize = TextFrame2.TextRange.Font.Size
'Set btCell = btn.TopLeftCell
End With
'Your code goes here:
'
'
'
'End of your code
'## Put this block of code before the Exit Sub statement/after your existing code
With btn
'.TopLeftCell = btCell
'.TextFrame2.TextRange.Font.Size = btnFontSize
.Left = btLeft
.Top = btTop
.Height = btHeight
.Width = btWidth
End With
谢谢你完美的作品。 – Mike
+1。回答一个类似的问题,上面David的答案涵盖了这个答案中的选项2:http://stackoverflow.com/a/11532902/138938 –
+1 @HeadofCatering提供更多选择。我最近也亲自使用过您的选项4。宏的形状看起来最可靠,不容易出现这种奇怪的行为。 –
- 1. jquery粘贴标题与调整大小
- 2. 调整按钮大小JavaFX
- 3. 调整Spinbox按钮大小
- 4. FBLogin按钮调整大小
- 5. 按钮调整大小上> 2.3.6
- 6. VBA在MailItem中调整粘贴的JPEG的大小
- 7. 粘贴在一页上的按钮
- 8. Android粘贴按钮
- 9. MD-按钮调整字体大小以适合按钮大小
- 10. 粘贴页脚在页面大小调整时浮动
- 11. Tkinter:在调整大小的窗口的按钮中调整字体的大小
- 12. Boostrap:在重新调整尺寸时如何“粘贴”图片上的按钮
- 13. 如何调整UISwitch按钮的大小?
- 14. 调整按钮内的图像大小
- 15. 调整按钮图标的大小
- 16. 调整大小按钮的Android
- 17. Java - 调整GridBagLayout中的按钮大小
- 18. 调整大小的方形按钮
- 19. 动态调整按钮的大小
- 20. UIToolbar内部的调整大小按钮
- 21. 调整Tumblr Like按钮的大小?
- 22. Tkinter/Python - 在窗口调整大小时禁用调整按钮的大小
- 23. 如何在C#中的按钮上调整图片大小?
- 24. 在调整大小时在对话框上移动按钮
- 25. 保存调整大小按钮
- 26. 调整大小图像按钮
- 27. 按钮大小调整问题。 Android
- 28. Javafx css按钮图形调整大小
- 29. HTML按钮没有调整大小
- 30. UIEdgeInsets调整大小后退按钮
我在旧的(?2003)的Excel此之前见过。不知道您使用的是哪个版本,但是如果我没有记错的话,您可以通过设置格式控制|打印对话框中的“打印对象”复选框来解决此问题。属性。否则,您可以修改代码以在运行时捕获按钮的初始维度,并强制/确保这些维度在“Exit Sub”语句之前设置。 –
我使用excel 2010.打印对象复选框也被选中,所以它听起来像我可能不得不修改代码。谢谢 – Mike
没问题。应该很容易做到这一点,只需获取按钮的'.Left','.Top','.Height'和'.Width',并确保在代码末尾重置这些。如果您遇到任何问题,请在此发布您的代码,我们可以尝试提供帮助! –