質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

2回答

1376閲覧

エクセルVBAのアドイン化

sugar2020

総合スコア1

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

0クリップ

投稿2020/09/16 13:33

前提・実現したいこと

選択されているセルが変化したら
UserFormのテキストボックスにアクティブセルの値を読み込むという
VBAをつくりました。これをアドインにしたいです。

発生している問題・エラーメッセージ

xlsm形式の際は問題なく動作するのですが、
アドイン化した際に動作しなくなります。

該当のソースコード

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

UserForm2.TextBox1 = ActiveCell.row

End Sub

試したこと

補足情報(FW/ツールのバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

1T2R3M4

2020/09/16 14:37

Privateだからってわけではないですか。
guest

回答2

0

アドイン化するとExcelが起動すると自動的にアドイン化ファイルが開きます
その後新規だったりすでにあるファイルを開いたりするので
Excel上では2重3重にファイルが立ち上がっている状態になります。
Excelのマクロ(ブック)とアドインの違いについて

そうするとどちらのブック情報を使えばよいか?という事になります。
現在開いているブックに関係する情報の場合
ActiveWorkbook.ActiveSheet 'シート
ActiveWindow.ActiveCell  '選択セル
アドイン化ファイルに関係する情報の場合
Application.ThisWorkbook   'ブック
というようにして下さい

気になるようでしたら

VBA

1debug.print ActiveWindow.Parent.name 2debug.print ActiveWorkbook.name 3debug.print Application.ThisWorkbook.name

以上をアドオンしたファイルから実行してみて下さい
普通のファイルだと3つとも同じ名前になりますが
アドオンしたファイルからだと違いがでます。

投稿2020/09/16 22:16

kuma_kuma_

総合スコア2506

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

提示されたコードでは、アドインファイルのアクティブセルの変更に反応することになります。

アクティブブックのイベントに反応するためには、下記の様にする必要があります。

VBA

1Option Explicit 2 3Public WithEvents App As Excel.Application 4 5Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range) 6 UserForm2.Show False 7 UserForm2.TextBox1 = Target.Text 8End Sub 9 10Private Sub Workbook_Open() 11 Set App = Excel.Application 12End Sub

投稿2020/09/17 03:55

iruyas

総合スコア1067

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問