
表題の通りなんですが、エクセルで、あるセルに指定された数値(語句)が入った場合に、それを自動的に感知して実行するマクロがあればと思うのですが、そういったことってできるのでしょうか。
具体的には、
1、バーコードリーダーで数値をセルに入力
2、その数値に対応する名前をvlookup関数にて表示
3、その名前が入力された時点でマクロが自動的に実行
と言うものです。
3の部分がよく分からずに困っています。できるかどうか分かりませんが、もしできるようであるならその方法を教えていただければありがたいです。どうか、よろしくお願いします。
No.5
- 回答日時:
こんにちは。
KenKen_SP です。> 一度試してみて、うまくいったと思ったんですが、その後はどうやっても
> うまくいかなかったです。
zap35 さんの言われている「対象セルがC3...」は、バーコードリーダーか
ら数値が入力されるセルのことだと思いますが、単純な勘違いがありそうなの
で確認して下さい。「対象セルがC3...」のセルと
> その数値に対応する名前をvlookup関数にて表示
のセルとごちゃ混ぜになってませんか?
関数による表示の変化では Change イベントは発生しません。つまり VLOOKUP
関数の結果でセルの表示が変更されても Change イベントは発生しないという
ことです。Change イベントでこのセルを指定してないですかね...
それで、1回目はうまくいくが、2回目は動作しない...となっているのでは
ないですか?
この回答への補足
返信をありがとうございます。zap35 さんのコードを少々アレンジして、
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$a$4" Then
出勤 '処理
End If
Sub 出勤()
Dim m As Byte
Sheets("データ").Select
m = Cells(1, 2).Value + 5
Sheets("データ").Select
Range("D3").Select
ActiveCell.FormulaR1C1 = "=TIME(HOUR(RC[-3]),MINUTE(RC[-3])-5,0)"
Range("D3").Select
Selection.Copy
Cells(m, 4).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
End Sub
と言う事で、a4にはバーコードで数値を読み込ませると、「出勤」のマクロが実行されるんじゃないかと思ったんですが、うまくいきませんでした。「出勤」のマクロ自体は単独で実行を押してもうまくいきますが、バーコードでは何度試してみてもうまくいきません。もし、原因が分かるようでしたら、よろしくお願いします。
No.4
- 回答日時:
>が、わざわざ、その仕組みが必要でしょうか?
私の書き込みに対するものだと思いますが、必要かどうかはわからなくても、もう少し情報がほしいです。それが必要か必要でないかは、ご質問者ご自身が決めてくださればよいです。
確かに、通信で一定期間に入ってくるものなら、タイマー機能で監視させれば良いかもしれませんが、不定期で入ってくるものに、常時監視させる方法としてはあまり関心しません。
それに、思ったようなイベントが発生しているかは、分からないです。手作業で入れるなら、話は簡単ですが、そうでない場合は、Change イベントでは、引っかからないこともあったような記憶があります。
私は、そんなに詳しい人間ではないので、もう少し詳しいことを確認したほうが良いと思ってお聞きしたまでです。
今の時点では、ご質問者の望むようなものには、直接結びつかないような気がしています。
これだけの回答で解決すると思っていらっしゃるのなら、それはそれでよいのですが。
この回答への補足
タイマー機能での監視の話ですが、以前の書き込みにそのような事が書いてあったので、使えるかと思っていたんですが、その内容を見る限りでは私の望んでいるものではありませんでした。
先ほどの書き込みにもお書きしましたが、できれば、バーコードリーダーにてバーコードを読み込ませる動作=コマンドボタンをクリックする動作 と言う使い方をしたいんです。
分かりにくい部分が多いかと思いますが、その際は再度補足します。どうか、よろしくお願いします。
No.3
- 回答日時:
まあ、タイマー監視すれば、当該セルに変更があったか否かは判るとは思います。
が、わざわざ、その仕組みが必要でしょうか?
1でイベントは発生していますので、そこで2、3を一気に処理すれば事足りると思いますが・・・。
No.2
- 回答日時:
こんにちは。
ご質問は、とても興味があります。
>セルに指定された数値(語句)が入った場合に、それを自動的に感知して実行するマクロがあればと思うのです
私の思っているのと同じであれば、おそらく出来ると思います。
同じような経験が2度ありますが、私は、ハードがさっぱり分かりません。
>具体的には、
> 1、バーコードリーダーで数値をセルに入力
> 2、その数値に対応する名前をvlookup関数にて表示
> 3、その名前が入力された時点でマクロが自動的に実行
もう少し、詳しく教えください。
バーコードリーダーで数値をセルに入れるのは、どのようにしているのですか?
通信の手段を教えてください。どのように入ってくるのですか?
その名前が入力された時点でマクロが自動的に「何を」実行すればよいのですか?
ある程度の内容は教えてください。
イベント・ドリブン型だと、たぶん、イベントを感知しないのではないかと思います。
私は、掲示板では、ハード系から情報を入れて加工するマクロは提供したことがありますが、最後まで、その仕組みを良く分かりませんでした。うまくいったそうです。
その時の通信手段は、DDEでした。今のOfficeは、OLEが中心ですが、未だに、そういう方式で、Excelにデータを入れているとのことです。
なお、VlookUp は、必要ないような気がします。あればあったで、そこから、イベントを取れます。
この回答への補足
こんにちは。先日は、「ユーザーフォームに現在の時間を入れる」事に関してお世話になりました、ありがとうございます。
>バーコードリーダーで数値をセルに入れるのは、どのようにしているのですか?
>通信の手段を教えてください。
これは、何桁かの数値に対応してあるバーコードをあらかじめ用意して、それに読み込ませるとセルにその数値が出てくるというものです。
通信手段は、USB端子につなげるだけでできるものです。
>その名前が入力された時点でマクロが自動的に「何を」実行すればよいのですか?
>ある程度の内容は教えてください。
回答になるかどうかは分かりませんが、ユーザーフォームのコマンドボタンをクリックすることとまったく同じ事をしたいんです。具体的には、バーコードの番号に対応したシートに移動し、そのシートに書かれている日にちに現在の時間を打ち込みたいんです。(タイムカードをエクセルで行いたいんです)
コマンドボタンでは、納得のいくものができたんですが、バーコードリーダーでの対応がまったく分からないんです。
まだまだ、初心者な事もあって、十分に説明できていない部分もあるのではないかと思うので、もし、分かりにくい部分がありましたら、再度補足しますので、よろしくお願いします。
No.1
- 回答日時:
仮にその対象セルがC3だとすると、以下のようなマクロを「そのシートのシートモジュール」に記述すればよいです。
これはシートのデータが変更されたというイベントによって起動されます。(だから1.、2.の時点でも起動されますので、変更セルのアドレスをIf文で聞いています)Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$3" Then
'処理
End If
End Sub
この回答への補足
返信をありがとうございます。
一度試してみて、うまくいったと思ったんですが、その後はどうやってもうまくいかなかったです。
理由もぜんぜん分かりません・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの自動更新のタイミングについて 1 2022/07/20 16:12
- Excel(エクセル) エクセルで、特定のセルの内容を更新すると、別の特定セルに 更新日付が自動的に表示させる方法はあります 1 2022/11/14 21:03
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 16:07
- Excel(エクセル) ExcelのVBAコードについて教えてください。 1 2022/06/20 09:22
- Visual Basic(VBA) エクセルのマクロについて教えてください マクロを実行して 作業フォルダの中にある PDFファイル名を 3 2023/07/01 15:16
- Excel(エクセル) セルを数式で指定する方法 5 2022/04/13 16:55
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
- Excel(エクセル) エクセルのセル値に対応してマクロを実行する方法を教えてください セルA1が「1」の時にマクロ名「マク 2 2022/06/19 18:45
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 偶数月の15日(土日祝...
-
Excelの数式について教えてくだ...
-
Excelのメニューについて
-
VLOOKUP FALSEのこと
-
エクセル内に読み込んが画像の...
-
【マクロ】1回目の実行後、2...
-
勤務外時間を出す表が作りたい
-
Excelで作成した出欠表から日付...
-
エクセルの数式について教えて...
-
【マクロ】参照渡しとモジュー...
-
Excelの条件付書式について教え...
-
【マクロ】シート追加時に同じ...
-
マクロを実行すると、セル範囲...
-
【マクロ】参照渡しについて。...
-
Excel 日付の表示が直せません...
-
エクセルで、数字の下4桁の0を...
-
【マクロ】Call関数で呼び出し...
-
別のシートの指定列の最終行を...
-
Excelのデーターバーについて
-
Excelでの文字入力について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】重複する同じ行を、...
-
Excelの条件付き書式のコピーと...
-
vba 印刷設定でのカラー印刷と...
-
VBA の単語の意味を教えて下さい。
-
Excel 日付の表示が直せません...
-
エクセル 同じ行の隣り合う数字...
-
エクセル条件付き書式について。
-
エクセルの数式につきまして
-
ファイル名の変更
-
エクセル 数字のみ抽出につて
-
Excelの開始ブックを固定したい...
-
エクセルの数式について教えて...
-
エクセルのセルをクリックする...
-
=INDIRECT(RIGHT(CELL("filenam...
-
エクスプローラーで見ることは...
-
Excelの関数で質問です
-
至急お願いいたします 屋上の備...
-
エクセルでセルに入力する前は...
-
関数を教えて下さい
-
Excel 関数での質問です
おすすめ情報