Skip to content

Instantly share code, notes, and snippets.

@furyutei
furyutei / 0.README.md
Last active Jul 12, 2022
[VBA] 漢数字を算用数字に変換
View 0.README.md

[VBA] 漢数字を算用数字に変換

【お題】 VBAで漢数字を算用数字に変換してください。

例:千八百万六千五百→18,006,500

カンマはあってもなくてもよいです。オプションで選べるとなおよし。皆さんどんな解答作りますか? >

@furyutei
furyutei / 0.README.md
Last active Jun 30, 2022
[Excel][VBA] 斜め罫線のような背景色を設定する試み
View 0.README.md
@furyutei
furyutei / 0.README.md
Last active Jun 24, 2022
[Excel][VBA] 迷路を作って解く試み
View 0.README.md

[Excel][VBA] 迷路を作って解く試み

はやりにのっかって(?)[^1]エクセルVBAで迷路を作って解くというのをやってみました。

image

……といっても、としじ@toshi81350036 さん作成された迷路を作る方と、りゅうりゅう@blacklist_ryu さん作成された迷路を解く方 をくっつけてちょっといじっただけで、オリジナリティとかはありません……(をい)。
[^1] なお、はやりは再帰だという説もありますが、本項では再帰は使用しておりません💦

ダウンロード

@furyutei
furyutei / 0.README.md
Last active May 13, 2022
[Excel][Power Query] TextToListEx():Text.ToList()でサポートされていないサロゲートペアや異体字セレクタに簡易的に対応した関数
View 0.README.md

[Excel][Power Query] TextToListEx():Text.ToList()でサポートされていないサロゲートペアや異体字セレクタに簡易的に対応した関数

Text.ToList()は文字列を文字のListに変換するPower Query M関数ですが、サロゲートペアや異体字セレクタには対応していないようです。
これらに簡易的に対応した関数(TextToListEx)を試作してみました(関連ツイート)。
(え、結合文字? 知らない子ですね……)

詳細エディター
関数クエリ
呼び出された関数例

@furyutei
furyutei / 0.README.md
Last active May 11, 2022
[VBA] VBEThemeColorToolを用いたVisual Basic Editor(VBE)のコードの表示色設定サンプル
View 0.README.md
@furyutei
furyutei / 0.README.md
Last active May 8, 2022
[Excel][VBA] 入力規則の設定によりブックが壊れてしまう例/入力規則リストの参照範囲を動的に変更する例
View 0.README.md

[Excel][VBA] 入力規則の設定によりブックが壊れてしまう例/入力規則リストの参照範囲を動的に変更する例

エクセルの入力規則(リスト)をVBA(Range.Validation.Add())で設定したときに、場合によってはブックが壊れてしまう、という話。
特にリストをカンマ区切りの文字列で直接指定するような場合は、255文字を超えないように要注意(リスト(候補)が動的に変わるような場合、カンマ区切りで直接指定するよりも、ワークシートの範囲参照で指定するのがベター)。

入力規則リストの参照範囲を動的に変更する例

下記のような不具合が発生しないように、リスト(候補)はワークシートへの参照の形で指定するのがよいと考えられる。
参照範囲は固定範囲(予め想定される最大の範囲)でもよいが、ここでは参照元の候補数が更新された場合に、Worksheet_Changeイベントによって参照範囲を動的に変更するようにしている

ソースコード

@furyutei
furyutei / 0.README.md
Last active May 9, 2022
[Excel][VBA] CsvParser: CSVをパースするためのクラスモジュール
View 0.README.md

[Excel][VBA] CsvParser: CSVをパースするためのクラスモジュール

ExcelでCSVファイルをパースする(読み込んで行列データにする)場合には、PowerQueryやADODB.RecordSetを使う(自分も先日やってました)のが定番ですが(その他の方法もあり・詳細はこちらの記事がわかりやすいかと)、

ということで、用途によっては使いにくいケースもあります。

そこで、CSVを読み込むためのクラスモジュールを作成してみました(正規表現を使って地道にパースしています)。

@furyutei
furyutei / 0.README.md
Last active Mar 25, 2022
[Excel][VBA] Schema.iniを用意してADODB.RecordsetでCSVを読み込む試み
View 0.README.md

[Excel][VBA] Schema.iniを用意してADODB.RecordsetでCSVを読み込む試み

フォローしている方々の間でCSVの取り扱いについて盛り上がっているみたいだったので(発端は吉田 拳さんのツイート?)、以前目にしたもののスルーしていたSchema.iniを用いる方法を試してみました。

※その後、独自のCsvParserクラスモジュールを試作してみました
ただし、そちらはパフォーマンスが低下してしまうため、

  • 文字数制限(1セル255文字まで)
  • 列数制限(最大255列まで)
@furyutei
furyutei / 0.README.md
Last active Jan 26, 2022
[ユーザースクリプト] GoogleアナリティクスのカスタムURLパラメータを外してリダイレクト
View 0.README.md

[ユーザースクリプト] GoogleアナリティクスのカスタムURLパラメータを外してリダイレクト

GoogleアナリティクスのカスタムURLパラメータ(utm_*)がついたりつかなかったりするとブックマークが分散してしまって私的に嫌なので、これを除去したURLにリダイレクトするユーザースクリプトを作ってみました。

まぁスマホやタブレットでブックマークした場合は除去できないのであれですけどね……。

@furyutei
furyutei / 0.README.md
Last active Jul 26, 2022
Excel用CSV読込抑制アドイン(CSV Guard)
View 0.README.md