VBAはほとんどいじったことのない初心者です。
イベントプロシージャをインターネットから探してきて、コピペして使おうとしてます。
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ERR_HANDLER
If Target.Address(False, False) = "E2" Then
ActiveSheet.Name = Range("E2").Value
End If
Exit Sub
ERR_HANDLER:
MsgBox "現在のE2セルの値はシート名にできません。"
End Sub
やりたいのは、セルE2の値に変更があったら、そのセルの値をシート名にしたいということです。
初心者には難しいでしょうか?
ご教示いただけると幸いです。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
1番さんが回答の中で最高のヒントをくださってますね。
> コード自体はあってます。
> 貼りつける場所が問題なのでは。
要するに、このコードを「そのまま」「該当シートのモジュールに」貼りなさい、という事です。
例えば、現在の名前が「Sheet1」であるワークシートに設定したいのであれば、
正しく貼り付けると添付図のような感じになるはずです。
もう一つの可能性として、
マクロのセキュリティで、マクロを無効にしているケースもありますが、
これだとマクロを動かそうとすると警告が出てきます。
警告が出てこないなら、マクロは有効な状態であると言えます。
どちらにしても「どのように」動かないのか、
状況がわからない状態では的確なアドバイスはほぼ不可能と思ってください。
警告が出るのか、エラーメッセージが出るのか、はたまた無反応なのか、
それによって対処も少しずつ変わります。
> 初心者には難しいでしょうか?
内容は至極簡単で、知らない人でも英語で読めばなんとなくわかるレベルの処理です。
(単語自体は中学校で習う程度の英単語ですよね。)
ですが、「どこに書けばどのタイミングで動くか?」を理解しないと、
良いタイミングでは動きません。
他さまのサイトへのリンクで恐縮ですが、
http://www.eurus.dti.ne.jp/yoneyama/Excel/vba/vb …
ここを一読頂ければ、なんとなく理解できるのではないかなぁ、と思いますので、
参考になさってくださいませ。
「無反応」だったのですが・・・
ようやく原因がわかりました。
E2にはVLOOKUPの式が入っていて、別のセルE3にコードを入力すると、他のリストから店舗名を引っ張ってくる、というようにしていました。
ですのでE3を変えるとE2も変わるので、その変わったE2をシート名にしたかったのですが、このイベントプロシージャは入力による変更の場合に動作するものと理解することができなかったのです。
(VLOOKで値が変わってもシート名は更新されない。)
そこで
If Target.Address(False, False) = "E2" Then
のE2をコードを入力するE3に変えて
If Target.Address(False, False) = "E3" Then
にしたところ、期待通りシート名が変更されました。
大変勉強になりました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) Changeイベントで複数セルへの貼り付けおよび値削除時に1個目のセルのみエラーになる 3 2022/12/21 09:07
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
Worksheet_Changeが動かない
その他(Microsoft Office)
-
VBAから変更した時だけイベントを発生させない方法
Excel(エクセル)
-
-
4
XL:BeforeDoubleClickが動かない
その他(プログラミング・Web制作)
-
5
Worksheet_Change(ByVal Target As Range)の複数の条件
Visual Basic(VBA)
-
6
Excel VBA イベントプロシージャを2つ記述する(基本です)
Excel(エクセル)
-
7
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
8
エクセルVBAでTargetのセルに設定された「名前の定義」の取得方法は?
Excel(エクセル)
-
9
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
10
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
11
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
12
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
13
”戻り値”が変化したときに、マクロを実行したい
Visual Basic(VBA)
-
14
エクセルVBAのChangeイベント時の再計算
Visual Basic(VBA)
-
15
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
16
エクセルのvbaにて thisworkbookに記載のマクロを他のブックにマクロにて自動コピー出来る
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
勃起する時って痛いんですか? ...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
白血球が多いとどんな心配があ...
-
これって喉仏ですか? 私は女性...
-
精子が黄色?
-
中出しをするとお腹が痛い・・・。
-
風俗店へ行く前のご飯
-
腕を見たら黄色くなってる部分...
-
精子に血が・・・
-
甲状腺が腫れているが血液検査...
-
エクセル指定した範囲からラン...
-
至急!尿検査前日にオナニーし...
-
便潜血検査(検便)で柔らかい...
-
納豆食べた後の尿の納豆臭は何故?
-
筋トレするとチンコが縮んじゃ...
-
舌の裏の痛みのないプツプツの...
-
EXCELで式からグラフを描くには?
-
精液の落とし方を教えてください
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
白血球が多いとどんな心配があ...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
尿検査の前日は自慰控えたほう...
-
精子が黄色?
-
中出しをするとお腹が痛い・・・。
-
EXCELで条件付き書式で空白セル...
-
口の中に黒い血の塊
-
これって喉仏ですか? 私は女性...
-
2つの数値のうち、数値が小さい...
-
納豆食べた後の尿の納豆臭は何故?
-
EXCELで式からグラフを描くには?
-
小数点以下を繰り上げたものを...
-
excelでsin二乗のやり方を教え...
-
エクセル指定した範囲からラン...
おすすめ情報