サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2025年ランキング
www.excel-chunchun.com
いつでもどこでもえくせるちゅんちゅん!Excelがおやつのことりちゅんです。 APIとは APIとは、あるアプリケーションの情報を外部のプログラムから取得したり、変更したりするための接続点となる関数を指して使われることが多いです。 この説明だけだと、何がなんだかイメージしづらいと思いますので、身近なものから順に説明していきます。 ※当ブログはExcel VBAの解説を主としています。APIはVBAの文脈で最も使われることが多い Windows API を例に説明します。 (GUI)アプリケーションを操作する状況とは? まず、「アプリケーションを操作する」という状況について確認しましょう。人間であるユーザーの皆さんは、日常的にアプリケーションを使っていますよね。(もしロボットの読者の方がいたらすみません) 一概にアプリケーションと言っても、Excelとか、Chromeとか、メモ帳などがありま
普段、私はテーブルを好んで使用しています。テーブルを使う理由、テーブルを使わない理由について、個人的に思いつく限りのことを書いてみました。 個人的な解釈に基づいた表現をしており、見方によっては評価が逆転することもある点にご注意ください。 テーブル化するメリット 良い感じに着色とオートフィルタが設定される(好みによる) ウィンドウ枠の固定が不要(好みによる) スライサーが設定できる 範囲選択が簡単になる(マウス:矢印選択、キーボード:Ctrl+Space / Shift+Space / Ctrl+Shift+Space / Ctrl+A) セル結合が絶対に使われていない表にできる 列の数式が自動入力される データを追加したときに領域が自動拡張される。 集計行が増やせる 数式を組むときに列名による構造化参照が使用できる=数式が読みやすくなる 列名の重複を禁止し具体的な名付けを強制できる VBA
今回はExcel VBAにおける伝家の宝刀。Application.Evaluateメソッドを紹介します。 はじめに Application.Evaluateメソッドとは Evaluateについて Evaluateの基本文法 Evaluateと角括弧の違い Evaluateとシート上で書いた数式の仕様の違い セミコロンとコンマの違い Evaluateの活用法 高精度時刻の取得 配列の作成 よくハマるミス 角括弧でVBAは使えない 引数に配列は使えない 戻り値には参照型と値型がある まとめ はじめに 私のフォロワーさんたちは、私が #VBAクイズ や #ワンライナー に答えるときに、角括弧を使ったVBAで回答しているのを見たことがあるかもしれません。 結構使ってる割にはちゃんとした解説をしたことがないので、一度しっかり説明しておかなくてはならないと常々思っておりました。 いつもネタコードとし
ブラウザのURLに sheet.new と入力したらGoogle Spreadsheetを。excel.new と入力したらMicrosoft Excelの新規作成画面を開けることはご存知だろうか? 実は サービス名.new でサービスを開きつつ、いきなり何らかの新規作成画面を開けるWEBアプリが多数存在する。 2020年 からGoogle が .new ドメインを誰でも取得できるようにしており、我々の知らぬ間に続々と対応サービスが増えているらしい。 現在使用可能なドメインは、.new - Google Registry で閲覧できる。 よく使うアプリが対応していないか、チェックしておくと良いかもしれない。 活用方法 もっとも無難な使い方は、URLを暗記して必要になったらその場で叩くことだろう。 ブラウザのURL欄にカーソルを移動 F6 して、excel.newと入力して Enter Mi
Office VBA の WinAPIを64bitに対応しようとした時に絶対に覚えなくてはならないのがLongPtrである。 Declare文の64bit対応に関しては以前次のような記事を書いたが、LongPtrの置き換えの考え方に関しては説明を省略していた。 今回は64bit対応のためにPtrSafe/LongPtrが実装された経緯について、私なりの解釈について説明する。 あくまで個人的に「たぶんこうだったんだろう」と理解したことであり、公式に得た情報ではないので注意するように。 www.excel-chunchun.com 何故PtrSafeが生まれたのか LongLongとは一体何なのか 何故LongPtrが生まれたのか 今後どうしたら良いのか 1. Declare文の修正 2. APIを呼び出す側の引数や戻り値のデータ型の修正 3. 符号なし整数への対策 4. VarPtrへの対策
社内のファイルサーバーの全てのデータを消し飛ばしてしまうという、人生史上最大のミスを犯してしまいました。二度とこのような失敗をすることがないよう強く反省し、記録を書き残すことにします。 きっかけ 環境 やっちゃったこと どのように乗り切ったのか そのとき何を考えていたか 惨劇はなぜおこってしまったのか 二度と惨劇を起こさないためにどうしたらよいか やっててよかったこと 補足 終わりに きっかけ まず、なぜこのような物をここに書いているのかと言えば、社内にはここまで精密な記録を残す予定が無いからである。 社内には、私の書いた技術的な記録を読める人は居らず、今度も採用されることはないだろう。 そして業務時間中に、このような丁寧な記録を残している時間など存在しない。 IT素人でも分かるような報告書をサラっと書いて、これでもかと言うくらいデフォルメした説明をして終わりである。 まあ実害がなければだ
チャットで改行しようと思ったのに送信されてしまった!!! そんな経験ありませんか? SNS・チャットソフトによって送信キーと改行キーがバラバラすぎなのが原因です。 いつも使っているソフトなのに、ショートカットキーがパッと出てきません。 数秒迷った挙げ句、 勇気を出してポチッと押したら送信されてしまった 絶・望 ドキドキしながらポチッと押したら改行されたときの 安・心・感 分かります?この気持ち・・・。 さて、そんなチャットソフトですが、新型コロナの影響でリモートワークが増えたことにより急速にユーザー数が増加しているはず。 今まで使っていたメッセとキーが違っていて、混乱している人が増えているようです。 かくゆう私も、以前からずっと悩まされてきました。 というわけで、私、全力で調べてみました。 調査結果はこちらです! ドン! Teams、Facebook Messenger、Skype for
ついにLogicoolの MX Master3を手に入れたのでレビューする。 とは言えここはExcelブログ。Excelを快適に使うための設定も紹介する。 Logicool MX Master 普通のマウスとMX Masterの比較 高速スクロール サムホイール ジェスチャーボタン MX Master 初代と3の比較 開封の儀 戻る進むボタンが普通になった。 サムホイールが大きく軽くなった メインホイールが無音になった FLOWが搭載された アプリケーション毎のカスタマイズ 不満な点 参考資料 まとめ Logicool MX Master MXシリーズと言えば、事務用マウスでは最高クラスの機能を備えるLogicoolのマウスのシリーズです。 ロジの事務用の最上位マウスの登場履歴はこんな感じでした。 発売時期 名前 型番 所有 2006/8/25 MX Revoluton MX-R 2009
朝起きてTwitterを見たら、「会議をするときは参加者の時給から会議コストを算出しなさい」という話が出ていたので、私もリアルタイムにコストを表示するツールを作ってみました。 作ったもの 入手先 頑張ったこと 日付をまたいだ時の処理をどうするか迷いました。 参加者追加の仕組みをUpDownButtonにしました。 拡大縮小ボタンを付けました。 最前面表示ボタンを付けました。 最大の問題点 モジュールの簡単な説明とか 開発中の動画 まとめ 作ったもの 入手先 GitHub - MoneyCostChecker へ上げました。 基本的には好きにしていただいて構いませんが、一応mitライセンスとします。 ソースコードはsrcの中に入っており、テキストで確認できます。 ただしユーザーフォームのデザイン情報は、バイナリデータのためコピペ不可能です。 リボンコントロールのレイアウトはCustomUIと
VBAで使ったことのあるCreateObjectや参照設定を整理してみました。 注意 調査 調査項目 参照設定 CreateObject Controls.Add 参考資料 まとめ 注意 今回、改めて実際に使ってテストした訳ではないので、間違っている可能性もあります。 CreateObjectで使えるのは、呼び出し先のプログラムの都合で使えたり使えなかったりします。 Windowsのバージョン、Officeのバージョン、Bit数、他にインストールされているプログラムなどで変わります。 ここに書いてあるのはあくまで参考程度とお考えください。 調査 VBAでCOMオブジェクトを使う方法は、アーリーバインディング(事前)とレイトバインディング(実行時)があります。 事前バインディングでは参照設定をする必要があり環境依存のバグに苦しめられますし、実行時バインディングではコードを丸暗記orコピペしな
読者の皆さん!パソコンのディスプレイはマルチディスプレイにしましたか? そこの4Kディスプレイの貴方!トリプルディスプレイの貴方!アプリのウィンドウの配置どうしてますか? デスクトップウィンドウマネージャ(ウィンドウを整列するツール)は使ってますか? 高解像度ディスプレイの課題 ウィンドウマネージャ タイル型ウィンドウマネージャ WinSplit Revolution MaxTo Fit Win EIZO ScreenSlicer Dell Display Manager PowerToys(FancyZone) nVidia RTX Desktop Manager 参考資料 まとめ 要望と独り言 高解像度ディスプレイの課題 昨今はパソコンのディスプレイの高解像度化が著しいですね。 もはや5年以上前からですが、デスクトップパソコンの画面はフルHD(1920x1080)が標準的なものとなりま
VBA開発を行うに当たって、特に厄介な課題の一つとして挙げられるのが「開発環境であるVBEがショボすぎる」という事である。 VBEをカスタマイズする方法は色々あるが、ここでは「開発環境(VBE)にコマンドを追加して自作のVBAプログラムを実行する」方法を紹介する。 きっかけ 準備 ソースコードを書き換えるVBA VBEに機能を追加するVBA ショートカットキーを割り当てる設定 まとめ きっかけ 以前よりVBAには「実行中のプロシージャを特定する術が無い」という課題があった。 差し当たっての解決策として、私はプロシージャ流入時に下記の文を記載している。 Const PROC_NAME = "functionName" また、モジュール先頭にも同様の文を記載している。 Const MODULE_NAME = "ModuleName" これにより、デバッグログを残す際に下記のような出力が出来るよ
今回は紙エクセル対策で必要な罫線作図ツール開発の序章です。 本記事はSpredsheets/Excel Advent Calendar 2019 の4日目の投稿です。(みんな参加してね!) (実際には12/1に公開した記事ですが) 3日目は Silloi (id:silloi) さんの「Google Spreadsheetsで家計簿を作った」でした。 silloi.hatenablog.com きっかけ 今回使うフォーマット このフォーマットの問題点 まとめ きっかけ 私の職場では未だに「神エクセル」などと呼ばれるに相応しいフォーマットのエクセルが多数存在している。 普段Twitterでは「あんなフォーマットはだめだ」「こんなフォーマットにしなきゃだめだ」などと言っている癖に、実は神エクセルばかり使っていて、数百~数万件にも及ぶ「帳票」をエクセルベースで作成しているのである。(Access
愛用マクロを64bit版Excelに早急に対応させる必要が出てきたので、ソースコード上のWin32APIのDeclare文を64bit対応に自動変換プログラムを作ってみたので紹介する。 なお、Declare文の変更だけでは完全に64bit対応とはならないので、実際に使う人はちゃんと勉強してから使うこと。 はじめに サンプル 変換前1 変換後1 変換前2 変換後2 自動変換関数 事前準備と使い方 ソースコード 使用例 ソースコード 参考 ツール 関連ツイート まとめ はじめに つい先日(2017-2018年頃)まで、Microsoftは「32bit版 Excelを推奨」としていた。 実際に推奨設定でインストールした場合、32bit版が入ったと認識している。 ところがココ最近は推奨設定でインストールすると「64bit版 Excel」がインストールされるようになってしまった。 64bit版Exc
今回はVBAのStopとDebug.Assertステートメントの違いについてお話します。 VBAのデバッグモード StopとDebug.Assertの違い 停止条件の考え方が逆 If~Stopは応用が効く Debug.Assertでは効果音が鳴る StopとDebug.Assertの共通点 VBEが強制的に開かれる プロジェクトがロックされている場合は働かない どう使うか Stop Debug.Assert まとめ 補足 ウォッチ式によるデバッグモードの入り方 MsgBoxによるデバッグモードの入り方 VBAのデバッグモード プログラム開発で欠かせないのが、デバッグモードである。 デバッグモードでは、ソースコード上でプログラムが次にどこを実行するかを、ある程度操作することができる。 デバッグモードがあるかどうかで、言語の習得効率や開発効率が大きく異る。 幸い、VBAにはVBEという必要最小
今回はVBAで最速で文字列に含まれる文字列の出現回数をカウントする関数を求めて色々と調査してみました。 きっかけ 調査内容 結果報告 テスト1 テスト2 ソースコード Split法 Len-Replace法 InStr法 バイト配列法 まとめ きっかけ とあるCSVパーサーのソースコードを読んでいて、以下の様な構文を見かけた。 'CSVデータの行数の最大値を取得するため、 '暫定的に入力データを改行コードごとに配列に分割 Dim iLines() As String iLines = Split(s, vbCrLf) dim maxLines As Long maxLines = UBound(iLines) - LBound(iLines) + 1 私自身も今までこの方法はよく使ってきた。 一行で書けるので美味しい。 maxLines = UBound(Split(s, vbCrLf))
ネットで情報収集していたら、ふと「ひらがなをカタカナに変換したい。」という文字が見えた。 最近、文字列処理の関数ばかり見ていた私はCONCATを使えば出来るとピンと来たため、お盆休み最後の全ての予定を放り投げて早速作ってみることにした。 従来までの方法 新しく作成した数式 ひらがなをカタカナに変換 カタカナをひらがなに変換 動作要件 数式作成までの話 まとめ 従来までの方法 まず、Excelには一発でひらがなをカタカナに変換するような関数は存在しない。 VBAが使えるならStrConv()関数で簡単に変換できるのでこれを使わない手はない。 '例 これらをCtrl+G→イミディエイトウィンドウで実行すると、選択中のセルの文字列が変換される MsgBox StrConv("あいうえお", vbKatakana) 'ひらがな→カタカナ ActiveCell.Value = StrConv(Act
今回はExcel上級者たちが使うような、高度な数式を組むのに必要な技術を紹介します。 Excel関数は使えるようになったけど、配列数式が分からない!という方にもオススメです。 はじめに エクセルの基本 注意 計算の順番 配列 配列参照 配列定数 配列数式 配列数式ではない配列数式 数式作成に必要な標準機能 数式の入力 数式の検証 数式を計算結果で置き換える 数式の分析 数式を表示 数式作成に便利なテクニック コメントを入れる方法1 (T関数とN関数) コメントを入れる方法2 (配列定数) 数式解読ツール おわりに はじめに 以前、文字列処理の様々な数式を公開しました。 https://www.excel-chunchun.com/entry/2019/01/31/011825www.excel-chunchun.com この中には、配列を使用した難解な数式がいくつも含まれています。 配列数
引き続きExcelで高度な数式を組むのに必要な技術のご紹介ということで、第二弾は「文字列sを区切り文字fで分割する数式(SPLIT)の解説を行います。 はじめに 使用事例 解説 説明にあたっての注意 1.MID第一引数【文字列】 2.MID第二引数 【開始位置】 3.MID第三引数【文字数】 4.MID計算結果のまとめ 5.TRIM(文字列) 6.INDEX(式,idx) 数式のテスト(解説が信じられない人へ) この数式の問題点 まとめ はじめに 下記の記事の続編になります。 www.excel-chunchun.com 以前、文字列処理の数式を公開しました。 www.excel-chunchun.com 今回は特に神がかっている難易度が高いであろう 、文字列を任意の文字で分割する式=すなわち、VBAやGoogleスプレッドシートのSPLIT関数に相当する数式について解説してみます。 ちな
今回はExcel2019で完全対応となった新関数「TEXTJOIN」の高度な活用テクニックを紹介します。 (※この文章は、ことりちゅんが思いついたアイディアを淡々と書き記した物語です。過度な期待はしないでください。) きっかけ TEXTJOIN関数とは 同時に実装された関数 TEXTJOINと似たような関数 TEXTJOINの書式 TEXTJOINのパラメータ TEXTJOINの凄いところ TEXTJOINの使用例 単純な連結 空欄を省略して連結1 空欄を省略して連結2 横方向に並んだデータを交互に連結 複数の区切り文字で連結 TEXTJOINの活用テクニック 結合要素に合わせて区切り文字を変化 日付の連結 文字列の反転 文字列への文字挿入 ダブルクォーテーション付きCSVレコードの作成 シングルクォーテーションやパーセントで挟む場合 パーセントエンコーディングしたものをカンマ区切りで結合
今回はマウスを新調したので、Excelで使うためのカスタマイズについてお話する。 買ったもの レビューとか カスタマイズ ソフトウェアの種類について インストール ボタンのカスタマイズ キーストローク マルチキー Gシフト Luaスクリプト チルトホイール(横スクロール)について G903のカスタマイズ マウスの持ち方 カスタマイズ一覧表 Default Excel Chrome まとめ 買ったもの 今回購入したのは「Logicoolのゲーミングマウス G903 」 Logicool G ゲーミングマウス ワイヤレス G903 ブラック LIGHTSPEED 無線 多ボタン ゲームマウス LIGHTSYNC RGB POWERPLAY ワイヤレス充電 G903 国内正規品 2年間メーカー保証 発売日: 2017/09/21メディア: Personal Computers 定価は¥21,13
游ゴシック大嫌いな同志諸君!お久しぶりです。ことりちゅんです。 ついに!ついに、Excelからレイアウトを崩さずに游フォントを完全に消し去る最強のマクロが完成しましたのでご報告申し上げます。 本記事は「Excelから游ゴシック体を徹底的に駆逐する」の第三弾になります。 ※游ゴシックが好きな人は気分を害する恐れがあるので、この先は読まずにお引取りください。 前回のえくせるちゅんちゅん 第一弾では 第二弾では 今回のえくせるちゅんちゅん 第三弾では 追記 説明の流れ フォント変更VBA 全てのセルのフォントを変更 VBA 結果 課題リスト 行の高さを固定 VBA 課題リスト スタイル定義を変更 GUI VBA 結果 課題リスト フォントテーマを変更 GUI VBA 結果 課題リスト セルの游フォントを直接変更 VBA 結果 課題リスト 図の游フォントを強引に変更 VBA失敗例 VBA成功例 結
Excelシートのデータ範囲を2次元配列に格納する汎用関数を修正したので紹介します。 はじめに Findの挙動について調べてみた 対策を考えてみる For For Ifでガリガリ探索 CountAで探索 計測結果 完成版 ソースコード 補足 蛇足 フィルタを解除してからFindで探索 おわりに 続編 はじめに 本記事は、下記の記事の続編です。 www.excel-chunchun.com 公開後、以下のような指摘を頂きました。 (ブログに書くと、こうやって指摘してもらえるので、本当に助かります。) m氏 ワークシート(+α) → Range Range → 2次元配列 の2つの関数に分離して ReadCell はその2つを組み合わせたシンタックスシュガーにした方が汎用的に思えるのですがいかがでしょうか? 関数を分離すると、メモリやCPUを消費するロジックしか思いつかなかったので妥協したので
2025-09-21 WorksheetFunction.Transpose関数で起きる不具合全集 Excel VBA Excel VBAには WorksheetFunction.Transpose(セル範囲 または 配列) という 二次元配列を横に倒したり、縦に縦向けたりする便利な関数があります。 コーディングしていると様々な場面で行と列を入れ替えたい場面がやってきます。 ReDim Preserve で二次元配… 2025-07-07 VBA開発時に「サブジェクトは指定された操作に対して信頼されていません。」が表示される原因と対策 VBA 最近Excel等のVBA開発画面において「サブジェクトは指定された操作に対して信頼されていません。」というエラーが発生するようになっています。 本書では、その原因と対応策について解説します。 再現方法 VBEにフォームモジュールを追加して、ツールボッ
Excelシートの使用済みデータ範囲をあらゆる状況下で確実に2次元配列に格納できる汎用関数を作ってみたので紹介します。 きっかけ マイルール UsedRange利用上の注意 UsedRangeプロパティの取得が遅い 開始位置がA1になるとは限らない 白紙のときはA1を返す メモリ不足の危険性がある データの入っていない領域も範囲に含めてしまう データの存在する最終行・列を求める データを2次元配列に読み込む 2次元配列読み込みの汎用関数 暫定版 ソースコード 単一セルの場合に2次元配列にならない 空白シートの場合にA1が返る ヘッダ部分を消したい フッタ部分を消したい 完成版 ソースコード 補足 おわりに 続編 きっかけ (本業ではないとは言え)ExcelVBAを書き続けてこの道10年の私が、何をいまさら・・・という感じですが、実は Excelシートのデータ範囲を2次元配列に格納する汎用関
以前、游ゴシック体を駆逐する方法を紹介しましたが、あの面倒な設定全てをvbsで自動化することに成功したので紹介します。 はじめに 変更内容 スクリプトの実行頻度を増加 インストール/アンインストールの簡素化 一瞬コマンドプロンプトが表示されるのを解消 スクリプト 管理者権限に昇格 インストールされたExcelのパスの確認 Excel_FontChange.vbsの本体 Excel_FontChange_Install.vbsの本体 完成品データ一式ダウンロード ダウンロード 注意 まとめ はじめに 游ゴシック体反対派の皆さん、お久しぶりです。 今回は、以前紹介した「Excelから游ゴシック体を徹底的に駆逐する方法」の第二回目になります。 手作業で安全に游ゴシック体を消したい方は下記の記事を御覧ください。 www.excel-chunchun.com この記事は意外と検索からの流入もが多く、
Excelの中級者と上級者の違いはなんだろう? Twitterを見ていて、ふと疑問に思ったので私なりの基準を考えてみた。 きっかけ はじめに Excel 初級と中級の違いってなんだろう 中級と上級の境界はなんだろう ネ申エクセルのような表を理解している Excelの機能を一通り把握している 入れ子になった関数を読んだり、必要な式に改変できる その道の人にとって必要な機能 さいごに きっかけ 昨日、Twitterにてこんな話が物議を醸しました。 面接で「Excel中級です!VLOOKUP出来ます!」って言った新人がいるらしい。— reime (@_reime) 2019年5月24日 面接で「Excel中級です!VLOOKUP出来ます!」って言った新人がいるらしい。 うちの課(情シス)では笑い話になってたけど、面接した人事社員はVLOOKUP関数使えないから誇っていいよ! ひょっとしたら、この
普段はExcel VBAばかり書いている私ですが、たまにはお休みしてマルチディスプレイ環境の構築についてのお話です。 この度、何を血迷ってか、DELLのU2719Dを購入しました。(\50,000) Dell U2719D 27インチ モニター (3年間無輝点交換保証/WQHD/IPS非光沢/DP,HDMI/縦横回転,高さ調整/Rec.709 99%) DellAmazon そして、長らく夢見てきた左右対称の4画面環境が整いました。 これを記念して、私のマルチディスプレイに掛けた思い出を書き綴ろうと思います。 購入の遍歴 失敗談 LEDディスプレイ 小型ディスプレイ 4Kディスプレイ 新ディスプレイ購入の注意 必須だよ 無視したよ 画面サイズと解像度 パネルの駆動方式や光沢 インターフェース VESA規格 マルチディスプレイ環境作成の教訓 3画面以上のマルチディスプレイについて マルチディ
今回は3ヶ月のブログ運営を通して学んだことを独り語りしたいと思います。 きっかけ 年表 3度のホットエントリー入りを経験して学んだこと 1回目 2回目 3回目 考察 書くことで学んだこと 当初の目的 後天的に知ったこと 新たに分かった問題点? ブログ運営で使用したサービス まとめ きっかけ 私がブログを書き始めて早くも3ヶ月が経過しました。 はじめのご挨拶でも書きましたが私のブログはこれで2作目で、最初のブログはほとんど執筆しないまま放置された状態になっていますので、ド素人の状態からの始まりでした。 読者の方々が私の文章を読んでどのように感じているか分かりませんが、実は学生時代は作文が嫌いで嫌いで、読書感想文を12年間一度も提出したことがなかったり、国語のテストが常に30点以下だったりと、非国民下手くそな私の説明でいつもいつもご迷惑をおかけしているかと存じます。 さて、先日思わぬ記事がウケ
次のページ
このページを最初にブックマークしてみませんか?
『えくせるちゅんちゅん』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く