1

いくつかのコマンド ボタンで同様のことを実行する方法については、多くの情報を見てきましたが、すべてユーザー フォームに関するものでした。

コマンド ボタンのグループを使用して、セルから別のセルにデータを移動したいと考えています。同じコードをコピーして各コマンド ボタンに貼り付けたくありません。

各コマンド ボタンに対して実行したいことの一部を次に示します。

Range(CommandButton1.TopLeftCell.Address).Select
Selection.Copy
If Application.WorksheetFunction.IsText(Range("R5")) And Range(CommandButton1.TopLeftCell.Address).Value <> Range("R5") Then
    Range("R6").Select
    ActiveSheet.Paste
    Range(CommandButton1.TopLeftCell.Address).Select
Else
    Range("R5").Select
    ActiveSheet.Paste
    Range(CommandButton1.TopLeftCell.Address).Select
End If
Application.CutCopyMode = False

クラス モジュールを使用しようとしましたが、まったく機能しないようです。そのコードをクラスまたは何かにスローして、特定のグループのすべてのコマンド ボタンで実行できるようにしたいと考えています。次に、同じシートに別のコマンド ボタンのグループを配置して、別のコードを実行したいと考えています。

どのルートをとればいいですか?

4

1 に答える 1

1

最初のボタンを作成して Excel シートに配置すると、マクロ画面が表示されます。[新規] をクリックすると、マクロ画面が開き、Sub Button1_Click()イベントまたはマクロに名前を付けたものが作成されます。作成された他のすべてのボタンも、モジュールで作成されたイベントを持ちます。

このモジュールでは、共有コードを含む新しいサブを作成できます。

Sub SharedCode()
End Sub

次に、ボタン用に作成された各イベントで共有コードを呼び出すことができます。

Sub Button1_Click()
    SharedCode
End Sub
于 2013-08-16T16:00:17.897 に答える