エクセル雑感
エクセル関連ツイートNo6

ExcelマクロVBAとエクセル関数についての私的雑感
公開日:2013年5月以前 最終更新日:2021-05-17

エクセル関連ツイートNo6


VBA(に限りませんが)を日本語で考えるのは悪手だと思うのですが、それでも最初は日本語で考えてVBAに訳す練習からで良いと思います。
どこかの段階で日本語が不要になります。
そこの壁を超えられれば自在に書けるようになると思います。



プログラムは手順書です。
記述する上で便利だとか、そういうことは伝えたい手順をしっかり明記できたた後の話です。
variantが良いとか悪いとかは些末な事なんです。
「正数を入れる」という手順ならLongだし、他の物も入れることがあるならvariant。単にそれだけの話です。


シート名やセル位置管理用に専用シート(非表示)を1つ用意して、そこに各シートの主要セル位置を取得する関数を入れておくという手もあります。
入れる関数はCELL関数ゃCOLUMN関数ですね。
シート名変更にも列位置変更にも追従するので名前定義と同様に使えます。


名前定義には数式も使えます。
COUNTAで範囲を指定した式を名前定義すれば件数も取得できます。


x Like String(Len(x), "#") And Len(x) = LenB(StrConv(x, vbFromUnicode))


シリーズ「たぶん紹介する人がいないショートカット」
Ctrl + Shift + [ ({)
選択範囲の数式が直接または間接的に参照するすべてのセルを選択する
Ctrl + Shift + ] (})
選択範囲のセルを直接または間接的に参照する数式が入力されたすべてのセルを選択する


シリーズ「たぶん紹介する人がいないショートカット」
Ctrl + Shift + U
数式バーを複数行に展開します。
展開されている場合は1行に縮小します。


歴史は繰り返されますね。
「選択範囲内で中央」ですか・・・
選択範囲内で中央を使うような場面なら、普通にセル結合しても良いですよ。というか、むしろそっちの方が良いです。


パワークエリは便利だという一方で、こういう場合…というので、ずいぶんと苦労しているようですね。
その苦労が報われる日がくると良いですね。
負の遺産にならなければ良いなと思います。
どうなっていくかは、私には分かりません。
今のところ、私は積極的に使っていく予定はありませんが。


検索「Excel VBA シートのマクロを標準モジュールに移動」
動作違いがあるので、良くテストしてください。
というか、なぜシートモジュールに書いたのかが気になるところ。

たまにTLでシートモジュールに書くのが便利といったのを見かけるけど、うーん、まあ、好き好きとしか言いようがないですね。
そもそもデータとロジックの分離をどう考えるか、といった所から議論が必要になってくると思います。

シート指定にオブジェクト名を使うのも同じような類の問題かもしれませんね。
やりやすいようにやるのが一番だと思います。
私は、データと分離不可能な部分以外はなるべく分離するようにしていますけど。


integerは不要ですか・・・
「大は小を兼ねる」という事ですかね。
適した入れ物というのはあるのですけどね。
レジ袋も大きければ良いというものでもないでしょう。
そうそう、風呂敷は良いですよ。
大小問わず形も様々な物を包むことができます。
でも、大風呂敷は広げない方が良いとは思います。


35歳定年とか、最近なら40歳くらいでしょうか。
これらは市場価値の問題なのでしょうね、良く知りませんけど。
いくつになってもプログラムくらいは書けますよ。
どんなプログラムを書くかって話でしょう。
(その人にとって)難しいプログラムに挑戦するのは、さすがに歳とってからはしんどい

全く未知の事(とりあえずIT関係)を始めたとしたら、今の私は全盛期に比べたら能力は半分以下になっていると思う。
逆に言えば倍の時間をかければ出来る気もします。
出来るかどうかは能力と時間の問題ということになると思う。
でも実はもっと大切なものが「気力」があるかという事だったりします。

高齢でエクセルやらプログラムをしているとニュースになったりするのは、私からすればおかしな話だと思います。
そんなもの何歳になったってできますよ。
その人の知識の範囲内の事ならできるに決まっています。
車を運転するより、はるかに簡単なことだと思います。


マクロが信用されないというより、その人が信用されていないという事はあるかもしれない。


現在の仕事でどの程度使っているかはそれぞれだと思うのですが、
事務系の転職を目指していてエクセルがまともに使えないのだとしたら、やる気あるのかって思われても仕方ない気がする。


写経したり、職人だったり、ITって何なんだろ・・・







同じテーマ「エクセル雑感」の記事

エクセル関連ツイートNo3

無理してクラスを使う必要性はないと思っています。VBAの場合は、完成後にプロではない他人(ユーザー等)にとって易しくわかりやすく書くことが重要だと思います。なので私は極力クラスは使わずに易しいコードで、それでいて速度が速くなるように書くことを心がけています。
エクセル関連ツイートNo4
VBEのこの左下のボタン「プロシージャの表示」「モジュール全体を連続表示」このボタンの説明ってどこにも書いた覚えがないです。といいますかVBEの全体としての説明を書いてない。とはいえVBEの機能を全部説明するのは無理、VBA全体を理解しないとどのみち意味が通じないでしょうし。
エクセル関連ツイートNo5
「セルに特定の文字が含まれているかどうかの判定」A列に、Excelという文字を含む行を別シートに転記するとしたらどうするか。やり方がいっぱいありすぎる気も、、、大文字小文字を区別するかどうかで変わってきますね。直前のコマンドまたは操作を繰り返すExcelショートカット F4 これが一番使われているように思う。
エクセル関連ツイートNo6
エクセル関連で「いいね」の多かったツイート
シート数が多い場合、先頭シートor最終シートへの移動は、Ctrl押しながらをクリックすれば移動できます。もしかして、あまり知られていなかったりしますか。エクセルの機能としては結構後になって変更された機能です。
保護されたブックの非表示シートについて
保護されたブックの非表示シートは通常の方法では確認することができません。このような非表示シートのセル値を、どうやって確認するかについてツイッターに連投しました。本記事は、連投したツイートに、画像と追加説明を加えてまとめたものです。
VBAコーディング規則に関する連ツイ
ツイッターでVBAのコーディング規約(ガイドライン)に関して連続ツイートした時のまとめです。https://twitter.com/yamaoka_ss/status/1297197338729910278 VBAに関しては多くの記事を書いているので、大抵の事にはどこかのページで多少は触れていると思います。
将棋とプログラミングについて~そこには型がある~
将棋とプログラミングは似ているだろうか。似ている所もあるが違う違う所もある。答えになっていませんね(笑) 脳のどの部分を使うとか難しいことは分かりませんが、やっているときにどんなイメージを持ってやっているのでしょうか。
変数を考えることはロジックを考える事
変数を考えることはロジックを考える事 変数宣言の位置についての議論は絶えません。先頭に宣言、直前で宣言 しかし、これらは単なるコーディング上のテクニックの話であり本質から離れています。中上級者になってからのテクニックとプログラミングの本質がごっちゃになって議論されてしまっている気がします。
VBA今日のひとこと/VBA今日の教訓 on Twitter
ツイッターで時々「VBA今日のひとこと」「VBA今日の教訓」として発信しています。そのまとめとしてここに記録しておきます。カレンダー 今日のひとこと…2021年5月28日(金) VBA今日のひとこと とりあえずこれだけは覚えておこう Ctrl+G Application.ScreenUpdating=True En…
ローカル版エクセルが「Office Scripts」に変わる日
ツイッターでエクセルのマクロ言語がVBAからOfficeScripts変わるかについて連続ツイートした時のまとめです。https://twitter.com/yamaoka_ss/status/1404122608287698944 ローカル版のExcelがVBAからTypeScriptになろうがPythonになろ…


新着記事NEW ・・・新着記事一覧を見る

TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.ブック・シートの選択(Select,Activate)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。


このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ