こんにちわ。
エクセルで経理関係の表を作っているのですが、イベントプロシージャにて、特定の列のセルに入力された数値に対して、許容範囲か否かサインを出して(IF関数)、そのサインがでれば音を出すマクロを組もうとしているのですが、なかなかうまく行きません。
商品 商品
A B C -------- L M N O | P Q--------AA
1 ○ | ▲
2 |
3 |
|
この表で注意すべき赤字は▲、伸ばすべき黒字は○。
A1~N1が商品種別や単価などの情報です。
○▲サインはIF関数にて表示出来るようにしたのですが、このサインが表示された時にマクロを実行するイベントとして、
************************
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 14 Then
Application.EnableEvents = False
Target.Value = s
If s <> "" Then
Call サイン発生通知
End If
Application.EnableEvents = True
End If
If Target.Column = 28 Then
Application.EnableEvents = False
Target.Value = s
If s <> "" Then
call サイン発生通知
End If
Application.EnableEvents = True
End If
End Sub
************************
としています。
音を出すマクロ自体は単体で(call サイン発生通知で)確認出来ているので、イベントプロシージャの記述に問題があると思うのですが・・・
記述しているところは、Excelobject Sheet1(この表があるところ)です。
どなたか詳しい方おられましたら、ご教授の程お願い致します。<(_ _)>ペコリ
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>Target.Value = s
転記式の右辺と左辺が逆でしょう。
この回答への補足
早速のご教授ありがとうございます。<(_ _)>
ご指摘の箇所を修正してみましたが、自分で書き込んだ時、A列のみ音がでるのですが、AB列(上図訂正)では自分で書き込んでも音が出ません・・・
あと、サイン別に分けた方が後々役に立つので修正してみましたが、出来てない物は何しても出来ませんね・・・(^^;
現在↓こうしていますが・・・(わがままばかり言ってスイマセン・・・)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 14 Then
Application.EnableEvents = False
Dim i As String
If i = "○" Then
Call サイン発生通知
ElseIf i = "▲" Then
Call サイン発生通知2
End If
Application.EnableEvents = True
End If
If Target.Column = 28 Then
Application.EnableEvents = False
Dim s As String
s = Target.Value
If s = "○" Then
Call サイン発生通知1
ElseIf s = "▲" Then
Call サイン発生通知2
End If
Application.EnableEvents = True
End If
End Sub
No.2
- 回答日時:
>Dim i As String
>If i = "○" Then
今度は変数iになにもセットせずにIf文判断してますよ。
>A列のみ音がでるのですが、
>AB列(上図訂正)では自分で書き込んでも音が出ません・・・
???AB列は音が出るけれど、N列では出ないのでは?
ステップ実行などでご自分で動作検証できないと
時間が掛かるだけです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
ExcelのVBA。public変数の値が...
-
TERA TERMを隠す方法
-
エクセルで別のセルにあるふり...
-
ExcelVBAの繰り返し処理でwebク...
-
ダブルクリックで貼り付けた画...
-
wordを起動した際に特定のペー...
-
エクセルで縦に並んだデータを...
-
Excel VBAからAccessマクロを実...
-
#define __T(x) L ## x について
-
右クリックによるイベントマク...
-
エクセルに張り付けた写真のフ...
-
Pythonでexcelのvbaを作成、実...
-
【EXCEL VBA】オートシェイプを...
-
C#でASPでEXCELをマクロ動かす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel・Word リサーチ機能を無...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
Excel マクロ VBA プロシー...
-
メッセージボックスのOKボタ...
-
一つのTeratermのマクロで複数...
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
Excel VBAからAccessマクロを実...
-
TERA TERMを隠す方法
-
Excel マクロでShearePoint先の...
-
ExcelVBAでPDFを閉じるソース
-
特定文字のある行の前に空白行...
-
マクロ実行時、ユーザーフォー...
-
wordを起動した際に特定のペー...
-
エクセルで別のセルにあるふり...
-
ソース内の行末に\\
-
マクロで空白セルを詰めて別シ...
-
【EXCEL VBA】オートシェイプを...
-
エクセルのマクロをセルの値に...
おすすめ情報