我有一個執行許多函數並能正常工作的宏,但按鈕在兩種情況之一中調整大小。當宏使用一個自動過濾器時,這些按鈕會發生變化,這會自動刪除大約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',並確保在代碼末尾重置這些。如果您遇到任何問題,請在此發佈您的代碼,我們可以嘗試提供幫助! –