表題の通りなんですが、エクセルで、あるセルに指定された数値(語句)が入った場合に、それを自動的に感知して実行するマクロがあればと思うのですが、そういったことってできるのでしょうか。
具体的には、
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
家の中でのこだわりスペースはどこですか?
自分の家で快適に過ごすために工夫しているスペースはありますか? 例)ベランダでお茶を飲むためのカフェテーブル ゲーミングに特化したこだわりのPCスペース
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
自分のセンスや笑いの好みに影響を受けた作品を教えて
子どもの頃に読んだ漫画などが その後の笑いの好みや自分自身のユーモアのセンスに影響することがあると思いますが、 「この作品に影響受けてるな~!」というものがあれば教えてください。
-
ギリギリ行けるお一人様のライン
おひとり様需要が増えているというニュースも耳にしますが、 あなたが「ギリギリ一人でも行ける!」という場所や行為を教えてください
-
Excelで教えてください。 バーコードリーダーで読み込みしたあと セルを自動で次のセルに行くように
Excel(エクセル)
-
EXCEL あるセルに数字が入力されれば既存マクロ実行させたい
Excel(エクセル)
-
Excelでバーコードリーダーで読み込ませた場所に移動して日時を表示させる方法。
Excel(エクセル)
-
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelの警告について
-
エクセル初心者です 用語等まだ...
-
excelVBAについて。
-
vbe でのソースコード参照(msgb...
-
【マクロ】メッセージボックス...
-
excelVBAについて。
-
【マクロ】複数の日付データをY...
-
エクセルシート保護を解除させ...
-
エクセルの関数ついて
-
エクセルの数式バーのフォント...
-
excelVBAについて。
-
【マクロ】フォルダ内にあるPDF...
-
【Excel】日付に連動してプルダ...
-
Excelのセルの色を変えた行(す...
-
エクセル初心者です 用語とか良...
-
【VBA】使ってたクエリの接続を...
-
excelVBAについて。
-
excelVBAについて。
-
条件付き書式の効率的な設定の...
-
8:40までの出勤は全て8:30に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
エクセルの数式バーのフォント...
-
【Excel】日付に連動してプルダ...
-
【再投稿】レイアウトが異なる...
-
Excelについて教えてください ...
-
同率順位の発生しないランキン...
-
エクセルマクロについて教えて...
-
【Excel VBA】 テキストファイ...
-
Excel 標準フォントについて教...
-
Excelの計算で差分を求める場合...
-
Excelの区切り文字について質問...
-
大容量があつかえるソフトを探...
-
エクセルの計算式について(COU...
-
エクセルについて
-
今までは、 「CSVの出力先を選...
-
Excel ショートカットで列、行...
-
8:40までの出勤は全て8:30に...
-
if関数。半角文字や全角文字で...
-
エクセルの関数
-
毎週追加して行くセルの数値を...
おすすめ情報