Excel VBAについて質問です。
未読分:0件
昨日以降(0) 2日前以降(0) 3日前以降(0) 4日前以降(0) 5日前以降(0)
近田 伸矢, 植木 悠二, 上田 寛
IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。
Message#4 2014年12月16日(火)07時28分 From: VBAマスター | 返事 削除 変更 |
こんな感じで如何でしょうか。 上のイベントプロシージャは、対象シートのモジュールに記述します。 Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Range Dim area1 As Range Set i = Range("A30") Set area1 = Range("A15", i) If Not Intersect(area1, Target) Is Nothing Then Call Chenge_User(area1) End If Set area1 = Nothing Set i = Nothing End Sub Sub Chenge_User(area1 As Range) MsgBox area1.Address(False, False) & "範囲内で「値変更」または" & _ "「行挿入」または「行削除」が、ありました。", vbExclamation End Sub |
Message#3 2014年12月16日(火)07時28分 From: VBAマスター | 返事 削除 変更 |
こんな感じで如何でしょうか。 上のイベントプロシージャは、対象シートのモジュールに記述します。 Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Range Dim area1 As Range Set i = Range("A30") Set area1 = Range("A15", i) If Not Intersect(area1, Target) Is Nothing Then Call Chenge_User(area1) End If Set area1 = Nothing Set i = Nothing End Sub Sub Chenge_User(area1 As Range) MsgBox area1.Address(False, False) & "範囲内で「値変更」または" & _ "「行挿入」または「行削除」が、ありました。", vbExclamation End Sub |
Message#2 2014年12月16日(火)07時27分 From: 通りすがり | 返事 削除 変更 |
変数 i の型はなんでしょう? 宣言セクションでString型の変数area1を宣言します。 どこかでarea1にアドレスを代入しておき、その範囲が変更されればchenge_userが実行されます。 例: Dim area1 As String Sub Sample() Dim i As Range Set i = Range("A20") area1 = Range("A15", i).Address Rows(20).Delete End Sub Private Sub worksheet_change(ByVal Target As Range) If Not area1 = vbNullString Then If Not Intersect(Target, Range(area1)) Is Nothing Then Call chenge_user End If End If End Sub |
Message#1 2014年12月16日(火)07時26分 From: VBA初心者 | 返事 削除 変更 |
Excel VBAについて質問です。 まだまだ初心者ですが、ご教授お願いします。 セル内の変更や行の挿入・削除で発生するイベントのコードを考えています。 area1(A15〜変数i)内のセルの変更や、行を挿入もしくは削除のイベントが発生すると、callであるコード(chenge_user)を実行させる、ということをやりたいのですが、本にはあまり詳しくイベントについて書かれておらず、サンプルも見つけることができず、自分で作ってみてもエラーが発生してしまいます。 最適なコードを教えてください。 どうかよろしくお願いします。 |
昨日以降 2日前以降 3日前以降 4日前以降 5日前以降