プロが教える店舗&オフィスのセキュリティ対策術

エクセルとは別のソフト(画像解析ソフト等)からデータを
クリップボードへコピーし、それを”Sheet1”の「B2」にペーストします。
このペーストした時に「Macro01」というマクロが自動的に実行されるようにしたいのですが、
どのように記述すれば作動するでしょうか?
色んなHP等を探してみたのですが見当たりません。
考えてみたのですが私には考えつきませんでした・・・。
どなたかご教授下さい@@;

また、コピーしてくるデータは毎回数値が違います。
ペーストした時に「B3」に入る値のみ変わりませんが、
内容に” ”←この記号が入っているせいか、上手く指定できないようでした。
一文の中で所々、毎回変わらない文字(単語)というのはあります。

よろしくお願いします。

A 回答 (2件)

こんばんは。



簡単な説明をすると、

Application.OnKey でショートカットキーや右クリックメニュー(Cell)に、マクロ名を置いて、クリップボードから、ペーストさせ、その後に続くようなコードを書けばよいです。

「^v」 (Ctrl + V)以外のほうがよいです。^v で作ると、一般の貼り付けの場合と、特殊な貼り付けの判定を、クリップボードの中で調べなくてはならなくなります。

もし、内容がテキストのみなら、DataObject(UserFormを一旦作成せいすれば、参照設定されますから、UserFormを削除しても残ります) を使って、ClipBoard からテキストを取り出して、それを加工して張り付ければできます。
    • good
    • 0

>それを”Sheet1”の「B2」にペーストします


>ペーストした時に「B3」に入る値のみ変わりませんが、

B2のみにペーストするのではなくて
B2を起点としてペーストするのですね?

Sheet1のChangeイベントにコードを書けばいいです。
以下、サンプル

'------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect(Target, Range("B2")) Is Nothing Then
    Call Macro1
  End If
End Sub
'-----------------------------------------------------

以上。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!