SSブログ

イベント発生の無効化  EXCEL VBA [マクロ]

ダブルクリックイベント等でマクロボタンを押さなくても、
セルやシートを変更した時に自動的に起動してくれる
便利なイベントマクロですが、反対に、意図しないとき
にも発動されるので、状況により困ったことにもなります。

そんな時、イベントの発生を一時的に中断というか
停止してくれるマクロがあります。
というよりも、必要が出てきたので探しました(^^;)

各マクロの最初のあたりに記述します。
Application.EnableEvents = False

解除する時や、マクロ処理を終了する時には以下の
コードを記述します。

Application.EnableEvents = True
クリック募金 各サイトに直接つながります。
http://www.cosmo-oil.co.jp/kankyo/charity/
http://www.able.co.jp/company/contribute/new-action/clickable/
http://kakaku.com/donation/

http://www.j-energy.co.jp/cp/society/click_tp.php
http://www.chintai.net/contribution/index.html
http://www.nittsu.co.jp/corporate/contribution/1click.html

http://www.daiichisankyo.co.jp/csr/clickdonation/index.html
http://www.nippn.co.jp/csr/unicef/oneclick.html

指定範囲のダブルクリック   EXCEL VBA [マクロ]

指定された範囲を選択すると別のマクロを実行します。


Private Sub worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Set A = Range("C1:D20", "E1:F20")
If Intersect(Target, A) Is Nothing Then Exit Sub
Call macro1
End Sub
Sub macro1()
MsgBox "macro1"
End Sub
クリック募金 各サイトに直接つながります。
http://www.cosmo-oil.co.jp/kankyo/charity/
http://www.able.co.jp/company/contribute/new-action/clickable/
http://kakaku.com/donation/

http://www.j-energy.co.jp/cp/society/click_tp.php
http://www.chintai.net/contribution/index.html
http://www.nittsu.co.jp/corporate/contribution/1click.html

http://www.daiichisankyo.co.jp/csr/clickdonation/index.html
http://www.nippn.co.jp/csr/unicef/oneclick.html

他ブックのマクロを実行する。Application Run  EXCEL  VBA [マクロ]

以前にも他のブックのマクロを実行するコードを記載しましたが、
今回は少し違う形式でのマクロです。

前回↓
Application.Run Workbooks(2).Name & "!モジュール名.マクロ名"
この場合、ファイルを開く順番によりエラーとなってしまいます。

今回は、↓
AWBN = ActiveWorkbook.Name
Application.Run "'" & AWBN & "'!モジュール名.マクロ名"

としました。マクロ元のブックをアクティブにする必要がありますが、
これでブック名の日付等が変更されてもマクロのコードは変えなく
ても大丈夫です。


クリック募金 各サイトに直接つながります。
http://www.cosmo-oil.co.jp/kankyo/charity/
http://www.able.co.jp/company/contribute/new-action/clickable/
http://kakaku.com/donation/

http://www.j-energy.co.jp/cp/society/click_tp.php
http://www.chintai.net/contribution/index.html
http://www.nittsu.co.jp/corporate/contribution/1click.html

http://www.daiichisankyo.co.jp/csr/clickdonation/index.html
http://www.nippn.co.jp/csr/unicef/oneclick.html

繰り返し処理 For Step     EXCEL VBA [マクロ]

シート2にからシート3にコピーし転写します。データを一定間隔で抽出してコピーしますが、
その準備としてデータ元のシート2の転写するデータの1つ上のセルに、「作業用タグ100
~作業用タグ250」を貼付けます。
シート3へは順番にもしくは任意に「貼付用タグ100~」を設置します。
以下は100から250までのデータ区間中の3つ単位でコピー貼付けします。
Resizeでデータの高さを変更します。
御利用の際には必ず予備のデータを用意してから御使用ください。


Sub 繰り返し処理()
Dim X(500) As Variant
Sheets("Sheet2").Select
A = "作業用タグ"
For i = 100 To 250 Step 3
C = A & i
X(i) = Cells.Find(what:=C).Offset(1, 0).Resize(10, 1).Value
Next i
Sheets("Sheet3").Select
B = "貼付用タグ"
For i = 100 To 250 Step 3
C = B & i
Cells.Find(what:=C).Offset(1, 0).Resize(10, 1).Select
Selection.Value = X(i)
Next
End Sub

クリック募金 各サイトに直接つながります。
http://www.cosmo-oil.co.jp/kankyo/charity/
http://www.able.co.jp/company/contribute/new-action/clickable/
http://kakaku.com/donation/

http://www.j-energy.co.jp/cp/society/click_tp.php
http://www.chintai.net/contribution/index.html
http://www.nittsu.co.jp/corporate/contribution/1click.html

http://www.daiichisankyo.co.jp/csr/clickdonation/index.html
http://www.nippn.co.jp/csr/unicef/oneclick.html

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。