多くの機能を実行し、適切に動作するマクロがありますが、2 つの状況のいずれかでボタンのサイズが変更されます。ボタンは、マクロが約 500 行のデータを削除するオートフィルターを使用するとサイズが変更され (ボタンが大幅に大きくなります)、プログラムを実行する前に最初にデータを貼り付けるとサイズも変更されます (再び大きくなります)。プロパティに移動して、オブジェクトの配置で「セルに合わせて移動またはサイズ変更しない」を選択しようとしました。また、ボタンの縦横比をロックしようとしました。しかし、どちらもボタンのサイズ変更を妨げていません。他に何を試すことができるかについてのアイデアはありますか?
質問する
1537 次
1 に答える
2
これでうまくいくはずだと思います。
私が以前に見たもう 1 つのことは、ボタンが変更されるとフォント サイズが変更されることがあることです。これを含めましたが、コメントアウトしたままにしました。ボタンの位置をリセットする必要がある場合もあります.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
于 2013-07-08T16:52:55.467 に答える