私はExcelマクロコーディングを初めて使用し、Excelでユーザーが列Aに数値を入力し、画面からタブで移動するとすぐに、新しいボタンが同じ行に生成される必要があるという要件があります。列 A の値と同じラベルの列 G が作成され、マクロ関数がボタンに追加されます。
また、ユーザーが列 A の行から値を削除した場合、対応するボタンも削除する必要があります。
特定のフォーラムを試しましたが、フォーカス アウトのボタンを作成するためのコードが見つかりません。
助けてください。
このコードを試してください:
Private Const mcStrButtonAddress As String = "D3" 'The cell or range which is used for top and left position of button
Private Const mcStrMacroToRun As String = "Macro1"
Private Const mcStrButtonName As String = "Button" 'Used internally to delete button
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
'To disable endless loop
Application.EnableEvents = False
'Delete button
On Error Resume Next
Me.Buttons(mcStrButtonName).Delete
On Error GoTo 0
'Insert button
With Me.Buttons.Add( _
Range(mcStrButtonAddress).Left, _
Range(mcStrButtonAddress).Top, _
Range(mcStrButtonAddress).Width, _
Range(mcStrButtonAddress).Height)
'Configure button
.Name = mcStrButtonName
.Characters.Text = Target.Value
.OnAction = mcStrMacroToRun
End With
'Reenable events
Application.EnableEvents = True
End Sub
ワークシートの Code モジュールに挿入する必要があります。