Office:2つのマクロを1つにマージする
これらのマクロを1つにマージし、そのマクロを図形に割り当てたいので、最初のマクロから結果が得られたときに図形をクリックすると、2番目のマクロから結果が得られます.私は自分でそれらをマージしようとしましたが、
成功していません.
Sub Shape_SingleClick()
Dim Sh As Shape
Set Sh=ActiveSheet.Shapes(Application.Caller)
MsgBox( "シングルクリック")
End Sub
Public LastClickObj As String、LastClickTime As Date
サブShapeDoubleClick()
LastClickObj=""の場合
LastClickObj=Application.Caller
LastClickTime=CDbl(タイマー)
そうしないと
If CDbl(Timer)-LastClickTime>0.25 Then
LastClickObj=Application.Caller
LastClickTime=CDbl(タイマー)
そうしないと
LastClickObj=Application.Caller Then
MsgBox( "ダブルクリック")
LastClickObj=""
そうしないと
LastClickObj=Application.Caller
LastClickTime=CDbl(タイマー)
終了する場合
終了する場合
終了する場合
End Sub
返信リスト(回答:1)
To:Charles
Re:シェイプをダブルクリック
VBAはシェイプのダブルクリックを認識しません.
ただし、Shiftキーが押されたかどうかは検出できます.
そのため、図形をクリックしたときにShiftキーを押して2番目のマクロを呼び出すことができます.
'
'次の2行はモジュールの上部に移動します
Option Explicit
Private Declare Function GetKeyState Lib "user32.dll"(ByVal nVirtKey As Long)As Integer
Sub FirstMacro()
Dim ShiftPressed As Boolean
'Returns True if shift key is Pressed
ShiftPressed=GetKeyState(vbKeyShift)<0
If ShiftPressed Then
Call SecondMacro
Else
MsgBox "shift key was up."
'do stuff here
End If
End Sub
Sub SecondMacro()
MsgBox "2nd Macro called"
'内容はこちら
End Sub
'
ExcelワークブックとMediaFireのアドイン.. https://www.mediafire.com/folder/lto3hbhyq0hcf/Documents
関連質問
- 複数のテーブルに散布ヘッダーを結ぶ
- VBA/VB.NETで複雑な文字列を作成する方法
- Excel 365
- Excelの "固定オブジェクトが移動する"エラーが表示されます(ただし、オブジェクトが見つかりません).
- Excel-データビジュアライザテーブルをVisioにインポートします
- 企業のExcelモデルへの既存の従業員へのアクセスを制限します
- VBA-Excel-DialogSheets.Show 2021-廃止予定?
- 評価日2式2の式2
- 範囲としてのVBA-BYVALターゲット原因コピーと貼り付け問題
- 2セルをマージするマクロを作成し、合計を取得するためにマージセルをグループ化します.