タグ

excelとvbaに関するtk78のブックマーク (36)

  • エクセルマクロのお作法(計算用シートという諸悪の根源について)

    前置きこの日記の内容は、会社の後輩から「最近エクセルマクロを勉強し始めて(キラキラ)」という話を聞いて、先輩ムーブをかますために話した内容になります。 とにかくこれから説明する「計算用シート」が憎くて憎くてたまらず、ちょっと引かれるほど熱弁してしまいました。 ただ、他の方がどうされているのかや、逆に「計算用シート」を愛用する方の意見も聞きたくなり、増田に書いてみました。 増田の経歴中小企業の非エンジニア(事務職員)エクセルマクロ歴8年くらい 初めて触った言語がVBAで、前任が作ったエクセルマクロを改修をいきなり頼まれたのがきっかけ会社の都合でJava Script、PHPからなる社内システムの改修、保守を担当したことあり 今は趣味PythonNLP、LLMを勉強中この記事の趣旨エクセルマクロのお作法とか書きましたが、要するにエクセルマクロで「計算用シート」って色々な意味でよくないよね、

    エクセルマクロのお作法(計算用シートという諸悪の根源について)
  • 【VBA】ExcelVBAで実現するエビデンスツール - Qiita

    はじめに インフラ系のエンジニアWindowsServerやWebコンソール周りの操作をする際などにエビデンスとして画面のスクリーンショットを撮るといったことは結構定番かなと思います。 自分も新人の頃は「自分の身を守るためにもエビデンスを残すように!」と何度も忠告をうけたなーなんてことを思い出します。 エビデンスの残し方としてはWinshotのようなツールを利用して効率よくとっていくこともありますが、私の周りではExcelシートにべた張りしていく方法がよく用いられてましたね。 Excelエビデンスのメリット Excelシートに貼り付けていくことは以下のようなメリットがあるかと思います。 単一のファイルで管理可能 シートを分けることで、作業単位でエビデンスを記録できる 適宜コメントなどを書き込める(Excelだから) とはいっても、以下のフローを毎回実施するのは面倒です。 記録対象のウィン

    【VBA】ExcelVBAで実現するエビデンスツール - Qiita
    tk78
    tk78 2024/01/06
  • ExcelマクロのVBAソースコードをAzure DevOpsでバージョン管理する方法

    はじめに会社でAzure DevOps Servicesを導入しました。PythonUiPathなどの開発に使おうとしているのですが、職場でも多数存在しているExcelマクロをバージョン管理する方法は無いか?と何気なく試してみたところ、割とうまく動いたので、そのやり方を紹介します。 Excelマクロのバージョン管理の運用イメージExcelマクロをAzure DevOpsでバージョン管理するする場合は、下記のようにマクロ付きExcelファイル(*.xls, *.xlsm, *.xlam)をGit管理するだけの非常に簡単な手順になります。 マクロ付きExcelファイルをGitのリポジトリに追加し、更新をAzure DevOps上のリモートリポジトリにPushするAzure DevOps上でマクロ付きExcelファイルからVBAソースコードが自動で抽出され、リポジトリにCommitされるVBA

    ExcelマクロのVBAソースコードをAzure DevOpsでバージョン管理する方法
    tk78
    tk78 2022/12/09
  • Excel VBAでSeleniumBasicを使わずにスクレイピングする - Qiita

    こんにちは。ExcelVBAからIEを制御するの著者であり、妹にExcelVBAからIEを制御する方法を教えてもらうゲームの作者であるうえぞうと申します。 Internet Explorerは使われる機会が減ってきたものの、ExcelからスクレイピングをするにはCOM経由で直接操作できるのでとても便利でありました。今はExcelからだとSeleniumBasicを使ってChromiumを操作するのが主流だと思いますが、会社のパソコンだと自由にインストールできなかったりするので困っている人もそれなりに多くいらっしゃるかと思います。 そこで今回はVBAからSeleniumBasicをインストールすることなく、VBAから直接ChromeやEdge(のWebDriver)を操作する方法をシェアしたいと思います。 Seleniumの仕組み 誤解を恐れずに超ざっくり説明すると、ブラウザーを動かすのは

    Excel VBAでSeleniumBasicを使わずにスクレイピングする - Qiita
    tk78
    tk78 2022/08/23
  • エクセルではてブを見るやーつ | なかけんツール集

    ツールは、Assets 内の「hatebu.xlsm」です。 使ってみましょう。そうしましょう。 紹介されました! 窓の杜 さんで紹介されました! 業務中にこっそりハテぶできるExcelマクーロ「エクセルではてブを見るやーつ」【レビュー】 - 窓の杜 ありがとうございます! 画像付きで解説があってすごくわかりやすいです! このツールのポイントは3つありますのコーナー 業務時間中でも 安全に はてブ閲覧 エクセルで資料を眺めてる、と見せかけて はてブを閲覧することができます。 閲覧ページは カスタマイズ可能 閲覧できるのは、カテゴリー別のホッテントリだけではありません。 自分のサイトへのブクマ一覧などを表示することもできます。 NG機能の搭載 キーワードやドメイン、IDなどを NG指定できます。 また、完全に隠すか、ほんのり隠すかを選べます。 基の使い方を紹介するコーナー 初回に一度だけや

    tk78
    tk78 2022/05/22
  • 「Excel」の「VBA」でこれができるの? ワークシート上で動く虫眼鏡のデモがすごい/ソースコードは「GitHub」で公開中【やじうまの杜】

    「Excel」の「VBA」でこれができるの? ワークシート上で動く虫眼鏡のデモがすごい/ソースコードは「GitHub」で公開中【やじうまの杜】
    tk78
    tk78 2021/06/18
  • 【Excel】セル結合されたダメ表を一気に結合解除・整形するVBAマクロ

    Excelで既存の表を再利用しようとした時、下図のような表しかなく、愕然としたことはないでしょうか。 余計なおせっかいが発揮されまくった表・・・ 見ばえを良くしようとした結果(?)、セルが上下左右に結合されまくっていて、オートフィルターもまともに機能しない、集計もできない、VLOOKUPもちゃんとひっかからない、あげく、コピー&ペーストすらうまくいかなかったり・・・ 私も事務仕事に従事している都合上、このようなダメダメデータに困らされることがありましたので、一発で使えるデータに整形するマクロをVBAで作成しました。 使い方 こちらからダウンロードしてご利用ください。 以下、一番簡単な方法のみ説明します。 ダウンロードした「結合された表をどうにかする.xlsm」を開く整形したい表が含まれているExcelファイルを開く整形したい表の範囲を選択した状態で ALT キーを押しながら f8 キーを押

    【Excel】セル結合されたダメ表を一気に結合解除・整形するVBAマクロ
    tk78
    tk78 2020/05/19
  • エクセルVBA入門 - Qiita

    はじめに 普段VBAはさわらないのですが、たまにエクセルの資料から値を抽出してJSONファイルつくりたいなぁと思うことがあります。 毎回やり方を忘れるので備忘録として。 目指すのは納品とかは考えずにあくまで自分の作業を楽にするためのやつです! プロシージャ プロシージャはたぶん関数みたいなやつです。(実行できる処理の単位?) 下記2つがあります。 Subプロシージャ Functionプロシージャ 違いは戻り値が設定できるかどうかかと思います。(あんまわかってない) とりあえず私は下記のように Function に細かい処理を書いて Sub で Function を呼び出すように実装してます。 Sub Test() Call ProcessA() Call ProcessB() End Sub Private Function ProcessA() 'なんか処理 End Function P

    エクセルVBA入門 - Qiita
    tk78
    tk78 2020/03/07
  • ADODB.RecordsetでRecordCountを取得する - 大人になったら肺呼吸

    はじめに レガシーASP(クラシックASP)で、SQLを発行してデータベースからデータを取得する際に、結果として取得したレコードの件数を取得したい場合があります。このエントリでは、ADODB.RecordsetのRecordCountで正しいレコード数を取得する方法を紹介します。 RecordCountプロパティが-1を返す レコードの件数を取得するSQL(SELECT COUNT(*) FROM 〜)を使うことも可能ですが、データの取得と同時に件数も取得したいときは、RecordCountプロパティを参照することで、SELECTしたレコードの件数を取得することができます。 しかしながら、通常ではRecordCountプロパティは、-1を返します。これは、CursorLocationがデフォルト(サーバサイドカーソル)になっていることが原因です。 サーバーサイド カーソルを使用して作成した

    ADODB.RecordsetでRecordCountを取得する - 大人になったら肺呼吸
  • AddinBox(Main)

    エクセルで祝日/営業日処理・カレンダー・期間計算・ 勤務時間計算・旧暦/干支/六曜などについて調べている方 ちょっとお寄りになりませんか‥‥。 『kt関数アドイン』を使うと祝日や第2/4土曜休みなどの定義が すごく楽になります。他にも祝日情報・期間計算の考え方など、 お役立ち情報や言語別の祝日判定コードも公開中です。 【 2015/9/23 Ver 4.00 リリース, 「祝日:山の日」「64bit Excel」をサポート 】 kt関数アドイン(Ver 3.00) リリース後、実に10年振りのアップデート! 【 2016/3/13 kt関数アドインに リボンUI を追加するサポートアドインをリリース 】 [ Excel/VBA ⇒ OpenOffice.org/Basic 移行プロジェクト ] ※※ お知らせ ※※ ( 2016/4/19 ) Excel2013/2016 の不具合により、

    AddinBox(Main)
    tk78
    tk78 2015/11/06
  • パスワード付きのExcelの保護を,バッチで自動的に解除しよう (VBAマクロが見れないブックに対して,パスワードを自動入力) - 主に言語とシステム開発に関して

    バッチ・マクロのTOPExcel VBAは,パスワードで閲覧制限をかけることができる。 ※その方法: Excelブック内のマクロをパスワードで保護する方法 http://www.happy2-island.com/excelsmi... VBE上で,ツール>VBAプロジェクトのプロパティ>保護 を開く。 「プロジェクトを表示用にロックする」にチェック。 「プロジェクトのプロパティ表示のためのパスワード」を2箇所入力。 OKをクリックし,ブックを保存。 しかし,マクロを修正するたびに,いちいち手動でパスワードを入力するのは面倒。 さらに,「外部からバッチでExcel内部を自動操作したい」という時,パスワードのせいで,操作が妨害される。 以下では,Excelのパスワードを自動的に入力するスクリプトを記述する。(言語はWSH/JScript) 下記のコードを保存し,ダブルクリックすればよい。

    パスワード付きのExcelの保護を,バッチで自動的に解除しよう (VBAマクロが見れないブックに対して,パスワードを自動入力) - 主に言語とシステム開発に関して
    tk78
    tk78 2015/10/16
  • Office TANAKA - Excel VBA Tips[すべて検索する]

    下図のような表があったとき、検索機能で"田中"を探してみます。 このとき、[すべて検索]ボタンをクリックすると、次のように、条件に一致したすべてのセルがリストアップされます。 このように、検索したいセルが複数存在したとき、それらをすべて検索するにはどうしたらいいでしょう。 まず、1つだけ検索する、一般的なやり方を試してみましょう。 Sub Sample1() Dim FoundCell As Range Set FoundCell = Cells.Find(What:="田中") If FoundCell Is Nothing Then MsgBox "見つかりません" Else FoundCell.Activate End If End Sub 検索の基とも言えるコードです。特に難しくはありませんね。 さて、Findメソッドには引数Afterがあります。この引数Afterに、見つかった

    tk78
    tk78 2015/04/30
  • 昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita

    Excel は滅びぬ! Excel の力こそ日企業の夢だからだ! VBA 実装してて学んだこととかのメモ。 JavaJava してたかはあまり関係ないかも。 #エディタの使い方 ##エディタを表示する Alt + F11 で VB エディタを表示できる。 ##環境設定 ###背景色・フォントを調整する デフォルトの白背景とか気が狂うので、暗い色にする。 「ツール」→「オプション」を選択し、「エディターの設定」タブを開く。 「コードの表示色」を選択して、「背景」の色を選択する。 ついでにフォントも見やすいやつに変更する。 これだけで開発効率が5割増しになる。 ###イミディエイトウィンドウ ####イミディエイトウィンドウを表示する いわゆるコンソールに当たるのが、__イミディエイトウィンドウ__と呼ばれるウィンドウ。 Ctrl + G で表示される。 ####イミディエイトウィンドウに出

    昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita
    tk78
    tk78 2015/03/17
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは お名前.com から取得されました。 お名前.com は GMOインターネットグループ(株) が運営する国内シェアNo.1のドメイン登録サービスです。 ※表示価格は、全て税込です。 ※サービス品質維持のため、一時的に対象となる料金へ一定割合の「サービス維持調整費」を加算させていただきます。 ※1 「国内シェア」は、ICANN(インターネットのドメイン名などの資源を管理する非営利団体)の公表数値をもとに集計。gTLDが集計の対象。 日のドメイン登録業者(レジストラ)(「ICANNがレジストラとして認定した企業」一覧(InterNIC提供)内に「Japan」の記載があるもの)を対象。 レジストラ「GMO Internet Group, Inc. d/b/a Onamae.com」のシェア値を集計。 2023年5月時点の調査。

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
  • Excelのマクロのショートカットキーを一覧で取得する方法 - OKWAVE

    こんばんは。 昔、作ったマクロで、古典的なコードです。現在は、あまり推奨されるようなコードの内容ではありませんが、良かったら試してみてください。 ツール-マクロ-セキュリティを Visual Basic プロジェクトへのアクセスを信頼する にチェックしていただいてから、以下のマクロを実行してください。 Debug.Print に出す場合は、該当部分のブロックを外してください。 今後、ショートカットを設ける場合は、Application.OnKey で設定して管理したほうが楽だと思います。 '------------------------------------------- Sub GetShortCutKeys() '現在の設定は、自ブックに限る Dim DefPath As String Dim FNo As Integer Dim LineBuf As String Dim i A

    Excelのマクロのショートカットキーを一覧で取得する方法 - OKWAVE
    tk78
    tk78 2014/02/24
    Application.OnKey で設定したショートカットは取得できないみたい。
  • 『自作アドインにショートカットを割り当てる』(Null) エクセル Excel [エクセルの学校]

    tk78
    tk78 2014/02/24
    Application.OnKey
  • 初心者でも図解で分かる! VBEの基本的な使い方とVBAプログラムの基礎文法

    プログラミング初心者を対象にExcelマクロ/VBAを使った業務自動化プログラムの作り方を一から解説する連載「Excelマクロ/VBAで始める業務自動化プログラミング入門」。前回の「Excelでプログラム作成を始めるメリットとマクロの基」では、そもそもプログラミングとは何か、Visual BasicとVBAとマクロの違い、マクロの作り方、保存/削除、セキュリティ設定などについて解説した。 今回はExcel VBAプログラミングの基的な用語解説をメインに、VBE(Visual Basic Editor、VBエディター)の画面構成や使い方も解説する。プロパティ、メソッド、オブジェクトなど専門用語が出てくるが、できるだけ分かりやすく解説したいと思う。どうか、嫌にならずに着いてきてほしい。 これらの用語はプログラミングをする上では必ず出てくるものであり、意味を知らずしてプログラミングすること

    初心者でも図解で分かる! VBEの基本的な使い方とVBAプログラムの基礎文法
    tk78
    tk78 2014/02/14
  • Excelシート名一覧の取得方法 - シナプスソフトプログラマのブログ

    これは便利!さくっと取得できました。 ALT+F11を押下(VBAエディタが起動) CTRL+Gを押下(イミディエイトウインドウが起動) 「For Each i In ThisWorkbook.Sheets: debug.print i.name : next i」をタイプしてEnterを押下 シート名をコピー VBAエディタを閉じる http://ozakih2000.blog.so-net.ne.jp/2007-07-05 シート一覧表示までは、「シートの移動タブを右クリック」⇒「シートの選択」でシート名一覧がてくるんですが、「これをコピーでできれば!」というところで、結局1個ずつシート名を書いたりしてました。 まぁ、シート一覧を地道に書き写しても10分かかる作業でもないので、次回も同じことを行うのを書き写すより速くできるかわからないですが。←似たようなことはよくあります とりあえず、

    Excelシート名一覧の取得方法 - シナプスソフトプログラマのブログ
    tk78
    tk78 2012/04/24
  • VBA研究室 Part 3

    図形のレガシーオブジェクト Excel VBAのヘルプによれば、図形(描画オブジェクト)は、基的にShapeオブジェクトおよびShapesコレクション(またはShapeRangeコレクション)を使用して操作するということになっています。 しかし、実際には、Shape/Shapesでは実現できない処理が存在しています。 このような処理には、Shape/Shapesではなく、ヘルプにも載っていないレガシーな(旧時代の)オブジェクトを使用する必要があります。 DrawingObjectsコレクションについて ExcelVBAで、Shapeオブジェクトを使って図形を操作しようとした場合、たとえば[オートシェイプの書式設定]ダイアログボックスの[プロパティ]タブの[オブジェクトを印刷する]のオン/オフの設定や、図形にセルの文字列をリンクする操作などを実行することはできません。 また、Shapes

    tk78
    tk78 2011/09/18
    DrawingObjects
  • Google Code Archive - Long-term storage for Google Code Project Hosting.

    Code Archive Skip to content Google About Google Privacy Terms

    tk78
    tk78 2010/11/21