プログラミング初心者を対象にExcelマクロ/VBAを使った業務自動化プログラムの作り方を一から解説する連載「Excelマクロ/VBAで始める業務自動化プログラミング入門」と「VBA/マクロ便利Tips」のリファレンスです。用途別やキーワード別のインデックス一覧にしています。初心者から中級者までご参考に。
こんにちは、戦略コンサルタントです。 今回は私の「社会人であればこんくらいは最低限出来てよ」というフラストレーションをぶつけた「これだけ最低限知ってろ」です。非常に長い記事ですが、目次をうまく活用しながら自分に必要な部分を読むようにして下さい。 エクセルで出来ること あるべきフォーマット/作ってはならないフォーマット 初心者でも知っておくべき頻出ショートカット alt + e + s(alt系は順番に押す) :形式を選択して貼り付け 範囲選択のshift,ctrl フォーマット用) alt+w+v+gで罫線非表示 shift+ctrl+1でカンマ表示,shift+ctrl+5で%表示 ctrl+1でセルの書式設定 関数:兎にも角にもvlookup! vlookup ピボットテーブル 分析結果を伝える・グラフ作成 データだけでは意味を成さない、比較を行って初めて意味がある 簡単な分析設計をや
操作の対象セル範囲が不定の場合 ここまでの解説では、操作の対象を「セルA1に」とか「セル範囲A1:C3に」などと簡単に決めてきました。もちろん解説なのですから、それは勘弁していただきたいのですけど、実際のマクロ作成では操作の対象を特定することに苦労するものです。操作の対象セルを、どう的確に特定するかが、VBAのビギナーとベテランで差が出るところでもあります。たとえば、次のようなデータを考えてみましょう。 このデータをマクロでクリアします。ただし、データが何行何列あるかは、そのときによって異なります。セルをクリアするにはRangeオブジェクトのClearContentsメソッドを使います。次のコードはセル範囲A1:D5をクリアします。 Sub Sample1() Range("A1:D5").ClearContents End Sub クリアすべきセル範囲の左上はセルA1です。したがって、セ
さて、今日も freee advent calendar やってまいりました。 freeeの CEO の佐々木です。今でこそ CEO 業にフォーカスしている訳ですが、会計ソフトfreee をリリースして世に送り出すまでは完全に微力ながら僕も第一線でコーディングしていました。僕の職歴は、ほぼほぼマーケティングとファイナンス(あと、ちょっとだけデータ分析)なのでエンジニア経験がある訳ではないのですが、起業したいという人に「どうやって勉強したんですか?」とよく相談を受けたりもするので、思うところを共有してみます。 まず、こんな人が向いてるんじゃないかと思う とりあえずシンプルでよいので目的に沿って動くプロトタイプ的なソフトウエアをつくるということは、次のような条件にひとつでもあてはまる人であればひとまず素養はあるのではないかなと思う。(大規模に展開する商用のソフトウエアの開発やメンテナンスの場合
Excel は滅びぬ! Excel の力こそ日本企業の夢だからだ! VBA 実装してて学んだこととかのメモ。 JavaJava してたかはあまり関係ないかも。 エディタの使い方 エディタを表示する Alt + F11 で VB エディタを表示できる。 環境設定 背景色・フォントを調整する デフォルトの白背景とか気が狂うので、暗い色にする。 「ツール」→「オプション」を選択し、「エディターの設定」タブを開く。 「コードの表示色」を選択して、「背景」の色を選択する。 ついでにフォントも見やすいやつに変更する。 これだけで開発効率が5割増しになる。 イミディエイトウィンドウ イミディエイトウィンドウを表示する いわゆるコンソールに当たるのが、イミディエイトウィンドウと呼ばれるウィンドウ。 Ctrl + G で表示される。 イミディエイトウィンドウに出力する ↓イミディエイトウィンドウに実行するプ
クラスモジュールを使った実用マクロ クラスモジュールは使い方がわかればとても便利な仕組みです。 けれどもなかなかそれを使っている ユーザーはいません。 使い道が分からないとか、使かなくても何とかなるというのが理由のひとつです。この記事では実際に使う事のできるコードを紹介します。 正規表現はどういうものですか? 正規表現は、特定のパターンに一致する文字列を見つけるための便利なツールです。 電話番号のリストの特定の番号を抽出したり、記入ミスのある番号を探したりするのに役に立つ例をみてみましょう。 クラスモジュールの基礎と使い方1 ある程度 VBA の経験を積んでくるとクラス、クラスモジュールあるいはオブジェクト指向、などといった言葉が目につくようになります。 しかしこれらについて詳しく書かれている参考書はありません。 なぜでしょう。それはクラスを使わなくても、そこそこVBAが使えるからです。
以下回答忘れてください。 申し訳ない、ソルバー(逆算)機能でできました。 以下やりかた(Excel2000~2003共通) <手順1> まず下準備。 [ツール]メニューに[ソルバー]があれば、そのまま手順2に進んでください。 なければ、[ツール]メニュー-[アドイン]で[ソルバーオプション]をチェックしてOKしてください。 Excel2000だったらもしかしたらこの時点でExcel閉じて開かないとだめかも。 これでソルバー機能が使えます。 <手順2> 評価用の計算式を追加します。 補足のケースであればC2に「=A2*B2」と入力し、C3:C8にコピーしてください。 あわせてC1に「=SUM(C2:C8)」と入力して下さい。 <手順3> [ツール]メニュー-[ソルバー]を出します。 目的セルをクリックし、「C1」のセルをクリック。そうすると目的セルが「$C$1」となります。 目標値の「値」を
プログラミング初心者を対象にExcelマクロ/VBAを使った業務自動化プログラムの作り方を一から解説する本連載「Excelマクロ/VBAで始める業務自動化プログラミング入門」。前回の「Excelでプログラム作成を始めるメリットとマクロの基本」では、そもそもプログラミングとは何か、Visual BasicとVBAとマクロの違い、マクロの作り方、保存/削除、セキュリティ設定などについて解説した。 今回はExcel VBAプログラミングの基本的な用語解説をメインに、VBE(Visual Basic Editor、VBエディター)の画面構成や使い方も解説する。プロパティ、メソッド、オブジェクトなど専門用語が出てくるが、できるだけ分かりやすく解説したいと思う。どうか、嫌にならずに着いてきてほしい。 これらの用語はプログラミングをする上では必ず出てくるものであり、意味を知らずしてプログラミングすること
サービス終了のお知らせ NAVERまとめは2020年9月30日をもちましてサービス終了いたしました。 約11年間、NAVERまとめをご利用・ご愛顧いただき誠にありがとうございました。
TimeLeapの動作を変更しました(Version 4.27.2) TimeLeap の不具合を修正した際に、TimeLeapの動作を見直しました。 内容としては 「最新のブックに上書き」 の際に履歴を作成しないよう…
TEXTCALC関数は、peaceさんが作成したエクセルアドイン関数で、セルに入力された計算式の計算結果を自動で返してくれる大変便利な定義関数です。 ここで紹介するTEXTCALC2は、上述TEXTCALCの一部改編版で、計算式中にコメント文字を入れられるようにしたバージョンとなりまして、例えば数量計算書などで、使用する数値の根拠がコメントしておけたらチェックが楽だな、と思ったのが発端です。 そこで、同じ境遇の方のお役に立てるなら、との想いから、peaceさんのご厚意もあってここに公開しているものです。 (誤解ないように) 改編に際しまして、本家TEXTCALCとの区別化を図るために関数名をTEXTCALC2とさせて頂きましたが、「2」が付いたからと言って、以前よりパワーアップしたもの、ではありません。本家TEXTCALCは完成された優れた関数であり、そこからコメント表現ができるようにした
Excel ファイルの生成、めんどくさいですよね。CSV の生成めんどくさいですよね。HTML を出力した上でさらにやるのはだるい、というわけで、HTML の DOM を解析して JS で XLSX 生成してダウンロードさせたらいいんじゃね?と思ってそういうのやれるやつ探したら、js-xlsx ってのがあった。 これをつかって、HTML のレポートから XLSX を生成するコードを書いた。なかなかうまく動く感じしてる。 http://tokuhirom.github.io/js-xlsx-demo/ td タグに class を指定すると数字カラムになる、みたいな感じになってるのがいいかんじです。 js-xlsx で生成したXLSXは、FileSaver.js で保存させてます。 デモで利用している JS は以下のようなものである。簡単でしょ。 "use strict"; var data
文系人間なんです(プログラムとか無理) わたしはけっこうな文系人間で、特にPCとの親和性が非常に低い。 どのくらい苦手かというと、ACCESSほぼ無理(最初から組まれているデータベースを利用する程度)、EXCELはマクロまでって感じ。SEが多いと言われるはてなユーザーじゃ珍しいレベルのダメさ、だと思う。 もとからそれほどPCが大好きってタイプじゃ無かった。 けど、ここまでできないのは、あまりこの手のスキルが要求されない職場環境だったことも影響していると思う。なんというかいろいろすでに整っていて、既存ものを利用したほうが効率が良さそうな感じ。 が、一方で自分でプログラム作れるってことへの漠然としたあこがれはある。 また、さすがに社会人として経験年数も増えてきたので、もう少しPCスキルも上げておきたいところ。 おそらく自分で(簡単な)VBAくらいできれば、業務の柔軟性みたいなものが向上する気が
PERSONAL.XLS が毎回表示される (tp0011) 毎回 personal.xls が起動する場合の原因と対策について説明します PERSONAL.XLS が毎回表示される理由 PERSONAL.XLS を変更して非表示にしないで普通に保存してしまうと、 以後 Excel を起動するたびに、このPERSONAL が毎回出てきます マクロの記録をするときなどに[マクロの保存先]として 『個人用マクロブック』を選択すると Excel は勝手に『PERSONAL.XLS』を作ります 通常はマクロをブック内に保存しますが、 個人用マクロブックに保存しておくとそのコンピュータではいつでもそのマクロを使うことができるのです 対策方法 Excelを起動します ブックPERSONAL.XLS が表示されている状態で、 Excel2007〜Excel2016:[表示]タブ→[ウィンドウ]グループ→
表示形式=TEXT(C1,"[DBNum1]G/標準")などはC1セルが半角数字で無いと上手く行かないようです。住所を数字部分と漢字部分に部分に別セルに分けられれば使えるかもしれない。 住所漢字部分と丁目番地が1セルに混在しているときのために、数字を漢数字に変える、ユーザー定義の関数を作ってみました。 ツール-マクロ-BVEでVBEの画面になる。 そこで挿入-標準モジュールで出てくる画面に下記を コピペする。 Function kansuj(a) tb = Array("〇", "一", "ニ", "三", _ "四", "五", "六", "七", "八", "九") For i = 1 To Len(a) s = Mid(a, i, 1) '---ハイフン If s = "-" Then st = st & "-" GoTo p01 End If '----数字 全角、半角 If Is
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く