昨日発生していたサイトログインできない不具合は修正されております(詳細はこちら)

Excel や VBA で名前定義を使う人って‥

Excelにある「名前の定義」に関するツイートをまとめてみました。
46
はけた@できるExcel2021 @excelspeedup

(前提) 1つのシートを持つブックを2つ準備し(1枚目、2枚目) それぞれにブックレベル、シートレベルで名前定義(3枚目、4枚目) pic.twitter.com/9eFOMUGJzb

2021-03-26 08:00:20
拡大
拡大
拡大
拡大
はけた@できるExcel2021 @excelspeedup

(前提続き) ソースコード (1枚目) (実験結果) 20210326名前定義1.xlsmをアクティブにして実行(2枚目) 20210326名前定義2.xlsxをアクティブにして実行(3枚目) 今までの挙動を考えると、こうなりますよね、、、 pic.twitter.com/PXwRkH4LLs

2021-03-26 08:02:47
拡大
拡大
拡大
はけた@できるExcel2021 @excelspeedup

>数式の挙動として見たら、自然な挙動なのかもしれませんね。 数式の挙動として見なくても、Range(" ... ")が、アクティブシートのRange指定だと見れば、VBA的にも、よくある挙動でしたね。

2021-03-26 12:08:14

感想や補足など

セル質 @ExcelQBag

名前定義を使う時はこれを念頭に置いておいた方が良さそう。 ブックレベルの名前定義は極力使わない方が良さそうなのと、シートレベルの名前を参照する時もシート指定はしっかりやる。 で良いのだろうか。 twitter.com/excelspeedup/s…

2021-03-27 00:17:37
はけた@できるExcel2021 @excelspeedup

エクセルVBAの名前定義の実験 (前提) シートレベルの名前定義とブックレベルの名前定義が競合していない (結論) シートを指定してもしなくても、結果は変わらない pic.twitter.com/JoUKs526Yl

2021-03-26 07:34:17
ちゅん🐤 @KotorinChunChun

名前定義使う人は、このくらいの仕様は理解しておいた方がいいと思う。 普通に名前定義するとブックレベルになるけど、シートの複製でシートレベルに変わるので、最初からシートレベルで運用した方が良いものもある twitter.com/excelspeedup/s…

2021-03-26 07:53:49
ちゅん🐤 @KotorinChunChun

あとブックを跨いでシートコピーした場合に、ブックレベルの名前は感染するというのも厄介

2021-03-26 08:01:09
Anubis @Anubis_369

そもそも、VBA でシートのコピーはしない。下記の例みたいな想定外が発生するからです。 Excelの挙動に依存する仕様が多いので、ExcelのVBAはむしろ難易度が高いです。 高度なことをやりたいなら、Accessでの利用をお勧めしたい。 twitter.com/KotorinChunChu…

2021-03-26 12:18:46
ちゅん🐤 @KotorinChunChun

@Anubis_369 この懸念はユーザー操作による影響も考慮してます。 あちこちのブックに名前定義が感染する、されるんです

2021-03-26 13:14:48
あこ @wakamekiss

先日初めて名前定義を気が進まないなと思いながら使ってた所でした。 ちゅんさんもしるるさんもタイムリーで👀ありがたや~‼️✨ twitter.com/KotorinChunChu…

2021-03-26 22:03:42
ちゅん🐥えくせるちゅんちゅん @KotorinChunChun

Excel や VBA で 名前定義 をうまく使うコツは 1. シートレベルで名前を定義する (「名前ボックス」からの設定はブックレベルなのでNG) 2. 名前定義は「単独のセル」または「表左上の単独セル」または「行」や「列」に設定する 3. シートモジュールに定義範囲のRangeを返すプロパティを生やす twitter.com/KotorinChunChu…

2021-03-26 15:51:18
しるる @sirururun

自分が相談されたものにドンピシャなツイートがあった👀👀👀 名前の定義はやっぱり使わない方がいいな… twitter.com/kotorinchunchu…

2021-03-26 13:12:14
しるる @sirururun

VBA&名前の定義使う人結構いるんだな…つよつよの人も使うのか…そうか点メリットはわかるけど…うーん😇

2021-03-26 13:19:24
Yasu @yasuhiro_

Namesコレクションがworkbook オブジェクトにかかってる場合と、Sheetオブジェクトにかかってる場合があるんじゃないかな🤔 twitter.com/excelspeedup/s…

2021-03-26 17:02:52
Yasu @yasuhiro_

普通に入力すると workbook オブジェクトの方に蓄積されるけど、「名前の定義」-「新規作成」でシートを指定して作成するとSheetオブジェクトの方に蓄積される。

2021-03-26 17:02:53
筒井.xls@エクセル関数擬人化本著者 @Tsutsui0524

悪いところも含め特徴を理解して道具を使うことは大事ですね 私はまず道具を増やさなくては 名前定義か・・・ #vba twitter.com/KotorinChunChu…

2021-03-26 11:59:19
ちゅん🐥えくせるちゅんちゅん @KotorinChunChun

@yosatonet @blacklist_ryu セルの名前はユーザーの行列挿入に追従する点が強力なので、VBAの場合コードの修正が発生しなくなります。 良し悪し、好み、注意事項はありますが便利なものですよ

2021-03-26 11:53:03
💻佐藤嘉浩(Officeの魔法使い) @yosatonet

@blacklist_ryu @KotorinChunChun 僕の中では、VBA使えば名前使う理由がなくなってしまうんですが、可変のセル範囲をOFFSET関数で指定するのに使いますね。VBA使わないでマクロの記録で構築していく人はOFFSET、INDIRECTと名前定義は相性があると思っています。

2021-03-26 11:32:36
ゆきと@Vue,React勉強 @VBA02702548

@KotorinChunChun 個人的に3.が特に大事だと思います。 どこをどう名前定義したかってこと忘れちゃって、なんてよくありました。

2021-03-27 11:33:42
せいや @dogfood25

Excelの名前の定義ってどこに保存されるんだろう。全てのファイル共通になっちゃうと嫌だな。

2021-03-26 14:48:41
せいや @dogfood25

Excelの名前の定義ってどこに保存されるんだろう。全てのファイル共通になっちゃうと嫌だな。

2021-03-26 14:48:41
しゃあ@やっぱりVBAが好き @VBA07529852

@dogfood25 数式タブの名前定義で、ブック単位がシート単位かの確認もできます。 名前や範囲の編集もできるので、使ってみてねー😊

2021-03-26 18:46:25

名前定義の魔術に対する防衛術

かおてっく @Kao_Tech_

@ExcelVBAer @sirururun 名前の定義されてるとはしらずシートコピーしたときに、「名前を変更しますか?」が出続けてExcelごとおとさないとそのメッセージ止まらなくなったトラウマから、人に渡すものでは使わないと心に決めました!

2021-03-26 21:33:22
しるる @sirururun

@Kao_Tech_ @ExcelVBAer そう考えるとこちらは名前の定義のリンク切れみたいな感じのエラーメッセージが出てた程度だったので軽傷ですねwExcel落とさないとダメって…ひぇぇ😱 使う人もいるので手段の一つとしては知っておこうと思いましたが、そんなトラブルもあると覚えておこうと思います!📝👀

2021-03-27 06:22:38
踊るエクセル@VBEアドイン作ってVBEハック中・・・ @ExcelVBAer

@sirururun @Kao_Tech_ >「名前を変更しますか?」が出続けて これは、 Alt+Y だったかな(Y=はい?) を押し続けて 切り抜ける方法もあります🐣 が、普通の人はそんな方法むりなので、 Excelを落とす or PC再起動😱 スタイルは、Maxまでいくと、 セルの書式が設定できなったり・・ ほんとウイルス化ですよ😭

2021-03-27 10:04:06