エクセルの神髄
エクセル雑感

ExcelのマクロVBAや関数についての雑感、記事の目次です
最終更新日:2020-08-09

エクセル雑感


Eexce関数やマクロVBAついての一般的な話や雑感。


ツイッターでの投稿のまとめや記録です。


Excel関数やマクロVBAについての一般的なお話

エクセルのマクロで何ができるか?
エクセルでは、マクロを使えば、色々な事ができます。自動転記、自動集計… 大量データの処理、手作業なら数時間かかる処理も、数秒で処理できてしまいます。もちろん、単なる事務の合理化だけでなく、本格的な、業務システムも作成可能です。
プログラミングについて
プログラミングをしていると、時に「開けゴマ」みたいなのにぶつかる。確かに扉はひらくのだが、「いったいこれは何だ、特にゴマって何だ」となる。危険のない命令なら別に知らなくても良いだろうが、多少でも危険性のある場合はそんな訳にはいかない。
エクセルの日付のお話
エクセルでの日付の扱いは特別です。では、エクセルでの日付についてのお話です。エクセルでの日付は1900/1/1を1として、そこからの日数になっています。通常、私もこのように説明するのですが、実は、ちょっとからくりがあります。
素直なプログラミング
プログラムを作る場合、「可読性」「保守性」等々に気を配る必要がありますが、まずは、素直なコードを書くことでしょう。テクニックに走ったりせず、頭に浮かんだ事をそのままコーディングしていく事も重要です。頭に浮かんだ事が、今の自分のスキルレベルなのですが、スキルが上がれば、頭に浮かぶ事も、少しずつ変化してきます。
IF文の整理と論理的思考
論理的思考でIf文を整理することについて、簡単な例で解説していきます。無駄な条件が入っていたり、条件が重複しているプログラム程理解しずらい物はありません。問題です。以下のマクロについて、気が付いたことを指摘して下さい。
エクセルVBAを覚えるには
エクセルのマクロ(VBA)を覚えるには、何が必要か… マクロで何ができるのか、そして、マクロで何を自動化したいのか、そのイメージをしっかりと持つことです。VBAの本を買ってきて、1ページ目から読み始めたとしたら… ほぼ確実に、途中で挫折すると思います。
EXCELマクロを始める時、まず最初にやるべきことは
EXCELマクロを始める時、まず最初にやるべきことは何か 入門書により、いろいろな事がかいてあるかもしれませんが、まず最初にやるべき事は、2007以降なら、「開発」タブを表示する事。そして、VBE(VisualBasicEditor)のオプション変更です。
Excelマクロを書くと言う事は
マクロを書くという事だけを考えれば、英作文に似ています。日本語を英語にする、マクロの場合はVBAコードにすると言う事です。英語もそうですが、マクロでも、この作業を覚えるには、それなりの勉強が必要です。
もしエクセルにマクロ機能がなかったら
私は、Excel4のころからエクセルを使っていますが、もし、エクセルにマクロ機能がなかったら… もし、マクロがVB言語でなかったら… 恐らく、エクセルはここまでは普及しなかったでしょう。VBAあってのエクセルだと思っています。そのマクロ機能を使わないと言う事は、エクセルの機能の半分を使っていない事と同じです。
物事には守るべき順序があります。エクセルにも順序があります。
何をやるにも守るべき事と順序というものがあります。例えば、PCにソフトをインストールする場合は、他のソフトは全て止める。そして、インストール後は、PCを再起動する。ごく小さいソフトで、OSに対して影響のないソフトの場合は、再起動しなくても良いですが。
Excelマクロ実行時のトラブル対処方法
マクロ実行時には、いろいろなトラブルが起こります。マクロを実行後に、あっ、しまった… と思ったら、まずはEscキーを押して、マクロを止めましょう。Ctrl+Pause(Break)でもよいです。被害は最小限に食い止めましょう。
だまされるな!RangeとCellsの使い分け!
ネットを見ていると、Range("A"&i) と言う記述を良く見かけます。初心者の方が、マクロの自動記録を見て、記録されたマクロを自分で工夫して、行数を変数にしたというのなら素晴らしい事です。しかし、マクロについて、かなり手慣れた人や、時にはExcelマクロの指導的立場にいる人が、
エクセル(関数・マクロ)上達のコツ
エクセル(Excel)の関数、マクロの上達するためのコツです、最初は、タイピングに集中していて、なかなか気づかずにスルーしてしまいますが、だからこそ、落ち着いて、見るようにしてください、回り道が必要な時もあるのです。1.候補表示(VBEではインテリセンスと呼びます)をしっかり見る2.ツールチップ(ポップ ヒント)をしっかり見る3.エラーメッセージは必ずし…
エクセルVBAあるある
VBAあるある Step-1 入れ忘れて、全く動かず… VBAあるある Withの中で、ドット(.)を忘れて、ドット疲れる。VBAあるある 独り言が多くなる 「あれ」「なんで」「ちがう」「そうか」「なるほど」ここまでは普通、さらに進むと 「ゴメン」「悪かった」「許して」独り言も、ここまでくれば一人前 VBAあるある 「オブジェクトは、
Excelマクロを書くのに○○力は必用か?
マクロを書くのに英語力は必要かどうか? はっきり言って、必要です…ガーン それでは話が終わってしまいますね、最低限の、英語というか英単語は知らないとキツイと思います。しかし、TOEICで高得点をとるような英語力は必要ないです。何より、私はTOEICは受けた事がないし、受けても、惨憺たる結果は見えています。
offset 検索ワードで非常に多いので「offsetまとめ」
サイト内の比率としては、VBAのOffsetプロパティが非常に多く使われています、シートのOFFSET関数も、参照範囲の可変化で必須となっています。offsetを抜きにして、Excelは語れないというほど重要です。OFFSET関数Offsetプロパティの主要記事の一覧です。
Excelのリンクの管理について
Excelファイルの入っているフォルダごと移動した時に、リンク切れを起こして困っていることが多いようです、そもそもExcelのリンクは、相対参照なのか絶対参照なのかといった根本から考えておかないと、このような事態になってしまいます。他のブックを参照する数式を入れたとき、その参照は、相対参照・絶対参照のどちらで格納されているのかという事です。
プログラミングとは
コンピューター(PC)は、こと計算については天才的な能力を持つが、その他の事については一般人の常識が通用しない子供のような存在です、人間で言うなら、サヴァン症候群でしょう、サヴァン症候群のPCに対して何かをしてもらいたい時に、それを文章で伝えるものがプログラムです。従って、プログラミングでは、あなたの常識は一切通用しないと思ってください。
「ネ申Excel」問題 への同意と反論
「ネ申Excel」、私は流行に疎いので、ネ申の意味が最初分からなかった、どうやら、「神Excel」のことのようです、大学教授が書いた、Excelの問題点と解決策の提案がかかれた論文です、この論文に対する、私なりの同意と反論です。Excelを論ずるのに、なぜネ申などという言葉を使ったのか、私には少々理解しがたい部分もありますが、
「Excel3ステップ理論」3階層システムの応用
エクセルでシステムを作成する時に、念頭に置くべき3階層の考え方になります、本来はExcelに限った事ではなく、システム作成では常に3階層を考えて設計しますが、さらに考えを推し進めて3ステップとして考えます、つまり、「Excel3ステップ理論」です。データを入力するシートで、さらに集計し、さらに印刷までやろうとしたら、
「ポケモンを確実に見つける方法」をExcelで数学してみた
ポケモンGO関連の記事をみていたら、【ポケモンGO】かくれているポケモンを確実に見つける方法、という記事を読んだ。普通にそうだなという感想なのですが、もっとまじめに数学したら、もっと良い方法があるのではないかと。元記事はあちこちで見た気がするが、多分これでしょ 「【ポケモンGO】かくれているポケモンを確実に見つける方法」で探せば、
エクセルで「もういくつ寝るとお正月」
今日は2020年1月31日です。早いもので1月が終わろうとしています。つまり、2020年も12分の1がすでに終わろうとしています。この調子では、あっという間に今年(2020年)も終わってしまいそうです。
エクセルで連立方程式を解く(MINVERSE,MMULT)
とつぜん連立方程式を解くことになりました。なぜ連立方程式を解くことになったのか、そして、どうやって答えを導き出したのか… これらを自身の覚え書きの意味も含めて記事にしておきます。ただし、行列の難しい説明は抜かして、どうやって解決したかの経緯の説明が中心になります。
VBAが消えてしまった!マクロが壊れて動かない!
2020年4月15日に配信されたWindows10用セキュリティ更新プログラムの不具合で、なんと、VBAが全て消えてしまうという事が発生しています。今後もあり得る事なので、このような場合の対策について記しておきます。VBAが消えてしまうとはどんな状態なのか エクセルファイルを開くと、以下のようなメッセージが出力されます。

ツイートまとめ

エクセル関連ツイート
「エクセルvbasort互換性」との検索。まだまだ2003ユーザーが多いので、ソート・条件付き書式、フィルタ、関数(SUMIFS等)…2003までの機能で作成するようにして下さい。ソートは2003ではキーが3つまでですが、キーを変更してソートを繰り返す事で対応可能です。
エクセル関連ツイートNo2
何を始めるにしても、まずは、それぞれの用語というものは覚える必要があります。これを無視して進んではダメですよ。困った時に調べようとしても、なかなか目的にたどり着けないことになります。基礎をおろそかにしては、結局後で時間を浪費することになります。
エクセル関連ツイートNo3
無理してクラスを使う必要性はないと思っています。VBAの場合は、完成後にプロではない他人(ユーザー等)にとって易しくわかりやすく書くことが重要だと思います。なので私は極力クラスは使わずに易しいコードで、それでいて速度が速くなるように書くことを心がけています。
エクセル関連ツイートNo4
VBEのこの左下のボタン「プロシージャの表示」「モジュール全体を連続表示」このボタンの説明ってどこにも書いた覚えがないです。といいますかVBEの全体としての説明を書いてない。とはいえVBEの機能を全部説明するのは無理、VBA全体を理解しないとどのみち意味が通じないでしょうし。
エクセル関連ツイートNo5
「セルに特定の文字が含まれているかどうかの判定」A列に、Excelという文字を含む行を別シートに転記するとしたらどうするか。やり方がいっぱいありすぎる気も、、、大文字小文字を区別するかどうかで変わってきますね。直前のコマンドまたは操作を繰り返すExcelショートカット F4 これが一番使われているように思う。

ツイートのお題をやってみた

「VBAによる解析シリーズその2 カッコ」をやってみた
ツイッターで出たVBAのお題をやってみました。もとネタはこちら、VBAによる解析シリーズその2カッコ 関連ツイート なかなか楽しかったので、VBAコードを掲載しておきます。まず最初にお題から受ける印象は、再帰処理を行うという事になると思います。
ツイッターで出されたVBAのお題をやってみた
ツイッターで出題されたVBAの問題をやってみました。ツイッターのエクセルおよびVBA関係の人達の間では、いろいろと面白く勉強になる問題を出し合うという事が行われています。フォローして参加してみると楽しいと思いますよ。
「VBAで導関数を求めよ」ツイッターのお題をやってみた
ツイッターで出題されたVBAの問題をやってみました。ツイッターのエクセルおよびVBA関係の人達の間で問題を出し合うという事が行われています。そんな中、現役高校生と思われる方からVBAの問題が出されました。
ツイッターのお題「君の名は?」
ツイッターで出題されたVBAの問題をやってみました。ツイッターのエクセルおよびVBA関係の人達の間で問題を出し合うという事が行われています。今回のお題は以下になります。ツイートへのリンク お題:君の名は? "-"ちゃんの名前がわかりません!教えてください。
ツイッターのお題「CSV編集」
ツイッターに出されたお題をやってみるシリーズです。今回のお題は、CSV編集です。ツイートへのリンク https://twitter.com/i/status/1253307552802074625 VBSにしてみた VBAでも良いのですが、たまにはVBSも良いかと思い作ってみました。
アルファベットの26進(ツイッターお題)
ツイッターで出されたお題をVBAで回答したものです。AAAの値をAAB,AAC...AAZまでインクリメントし、次のアルファベットを桁上げし、ABA,ABC?ZZZまで計算するコードを書きたい。お題のツイート https://twitter.com/KotorinChunChun/status/1262026213352026112 よくある方法 一番多…

ツイートに出したExcel&VBA問題

保護されたブックの非表示シートについて
保護されたブックの非表示シートは通常の方法では確認することができません。このような非表示シートのセル値を、どうやって確認するかについてツイッターに連投しました。本記事は、連投したツイートに、画像と追加説明を加えてまとめたものです。
文字列のセルだけ結合
ツイッターに出したたお題です。セル範囲の、文字列のセルだけを文字列結合してください。つまり数値のセルは無視して文字列結合するという事です。お題「文字列のセルだけ結合」https://twitter.com/yamaoka_ss/status/1257250812469710848 さて、図のように、
時間に関する関数の扱い方
ツイッターに出した時間関数のお題です。さて問題です。=HOUR(TIME(23,58,59)+TIME(1,1,1)) これはいくつになるでしょうか。お題「文字列のセルだけ結合」https://twitter.com/yamaoka_ss/status/1257637479319912454 時間に関する関数の解説 https://twitter.com…
COUNTIF関数の結果は?
ツイッターで出題した問題です。COUNTIF関数で、数値と文字列が混在した範囲を大小比較で取得するという、かなり無茶な問題です。お題のツイート https://twitter.com/yamaoka_ss/status/1265952309353213953 【COUNTIF問題】 見た通り、6行目からは文字列として入っています。
【超難問】エクセル数式問題
ツイッターで出題した問題です。これは、ほぼネタツイです。純粋にエクセル問題だと考えると意味が解らない問題ですので、ご注意ください。お題のツイート https://twitter.com/yamaoka_ss/status/1268909723375419393 【超難問】エクセル数式問題 =ROUNDUP((20+10)*2^2*2^4*4,
IFステートメントの判定
ツイッターでIfステートメントの書き方が話題になっていたのを見て、結構いろいろな要素があるということで、ちょっと意地悪な問題にしてみました。お題のツイート https://twitter.com/yamaoka_ss/status/1271402726174277632 VBA問題 さて、いくつが表示されるでしょうか? Dimi If"true…
日付の謎:IsDateとCDate
ツイッターで出したVBAのお題です。エクセルにおける日付のちょっと不思議な挙動についての、ちょっと変わった、ちょっと意地悪な問題です。お題のツイート https://twitter.com/yamaoka_ss/status/1271776939343110146 【VBA問題】 画像のVBAはエラーになる事があるでしょうか? 回答用の投票 ・IsDat…
ツイッター投稿用に文字数と特定文字で区切る
ツイッターで出したVBAのお題です。ツイッター投稿には文字数制限がありますので、セルに入れた下書き文章をツイート用に区切る問題です。お題のツイート https://twitter.com/yamaoka_ss/status/1272033174575407105 【エクセルお題】 ツイートの下書きをA1セルに入れています。
マクロ記録での色のマイナス数値について
ツイッターで出したVBAのお題です。マクロの記録で文字色などの色を指定するとマイナス数値で記録される場合がありますが、このマイナス数値は何かを問う問題です。お題のツイート https://twitter.com/yamaoka_ss/status/1272119270026051587 【エクセル問題】 マクロの記録で文字色を指定するとマイナス数値で記録…
VBAのString型の最大文字数について
ツイッターで出したVBAのお題です。String型はVBAリファレンスでは、「可変長文字列は、最大で約20億(2^31)文字を格納できます。」と書かれています。これについて、本当は何文字まではいるのかについての問題です。
Variantの数値型と文字列型の比較
ツイッターで出したVBAのお題です。Variant型は、どんなデータ型も入れることができます。具体的なデータ型の代わりに使用することで、より柔軟にVBA記述ができるようになります。ただしその一方で、少々特殊な挙動もあり、使いこなすにはそれなりの知識が必要になる場合もあります。
Variant仮引数にRange.Valueを配列で渡す方法
ツイッターで出したVBAのお題です。Variant型は、どんなデータ型も受け入れることができます。RangeオブジェクトのValueを配列で受け取るにはVariant変数が必要です。ただし、実引数にRangeオブジェクトを直接指定する場合には注意が必要です。
LSetとユーザー定義型のコピー(100桁の足し算)
ツイッターで出したVBAのお題です。Variant型は、どんなデータ型も入れることができてしまいます。具体的なデータ型の代わりに使用することで、より柔軟にVBA記述ができるようになります。ただしこの便利さゆえに、逆に注意しなければならない挙動もあります。
「VBA Match関数の限界」についての誤解
ツイッターで出したVBAのお題です。発端はエゴサーチからです。(笑) 「教えて!goo」で引用されていたのを見つけました。あちこちで引用されているのは見かけることはあるのですが、以下ではよく言うディスられているような文章を見かけました。
VBAで数値を漢数字に変換する方法
ツイッターで出したVBAのお題です。算用数字を漢数字に変換するVBAです。滅多に必要になるものではないのに、なぜこんな問題を出したかと言うと、最近シリーズで書き始めた「Excel将棋」で必要になったからです。


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

Excel将棋:相手の駒を取る、持ち駒を打つ|VBAサンプル集(8月9日)
Excel将棋:駒を動かす|VBAサンプル集(8月9日)
Excel将棋:将棋進行クラスの作成|VBAサンプル集(8月8日)
Excel将棋:将棋盤クラスの作成&単体テスト|VBAサンプル集(8月8日)
Excel将棋:位置クラスをデフォルトインスタンスに変更|VBAサンプル集(8月7日)
VBAで数値を漢数字に変換する方法|エクセル雑感(8月6日)
Excel将棋:駒台クラスの作成&単体テスト|VBAサンプル集(8月6日)
Excel将棋:駒クラスの単体テスト|VBAサンプル集(8月5日)
Excel将棋:駒クラスの作成|VBAサンプル集(8月5日)
Excel将棋:クラスの設計|VBAサンプル集(8月4日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.とにかく書いてみよう(Sub,End Sub)|VBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門




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


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



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