
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel VBAでのWorksheet_Changeが動作しない原因
Excel(エクセル)
-
Worksheet_Changeが動かない
その他(Microsoft Office)
-
VBA 変数名に変数を使用したい。
Visual Basic(VBA)
-
-
4
Worksheet.Change イベントを他のシートにも反映させる方法?
Visual Basic(VBA)
-
5
VBAでループ内で使う変数名を可変にできないか。
Visual Basic(VBA)
-
6
worksheet_changeがループする
PowerPoint(パワーポイント)
-
7
CSV形式にすると出てくる空白を消したいです。
その他(Microsoft Office)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
増減表のプラスマイナスの符号...
-
足がまだら模様になります。ど...
-
風俗店へ行く前のご飯
-
舌の裏の痛みのないプツプツの...
-
検便を取ったのですが、棒から...
-
アクエリアスが苦く感じる
-
採血後の内出血 先週の金曜日に...
-
レインボーシックスシージをし...
-
鏡についてです。自分の体型を...
-
エクセルで空白セルを含む列の...
-
イタリアから帰国する際、肉製...
-
下世話なお話で申し訳ありませ...
-
一番多く表示のある値(文字列...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
首吊りどこ締めるの
-
検便についてです。 便は取れた...
-
値が入っているときだけ計算結...
-
彼女のことが好きすぎて彼女の...
-
尿検査前日に自慰行為した時の...
-
VLOOKUP関数を使用時、検索する...
-
Excel 数値の前の「 ' 」を一括...
-
精液の落とし方を教えてください
-
【Excelで「正弦波」のグラフを...
-
2つの数値のうち、数値が小さい...
-
風俗店へ行く前のご飯
-
精子に血が・・・
-
リンク先のファイルを開かなく...
-
小数点以下を繰り上げたものを...
-
EXCELで条件付き書式で空白セル...
-
イタリアから帰国する際、肉製...
-
excelでsin二乗のやり方を教え...
-
腕を見たら黄色くなってる部分...
-
病院側から早く来てくださいと...
-
ワードのページ番号をもっと下...
おすすめ情報