こんにちは、pothです。 今回はスケジュール作成マクロです。 業務を進める上でスケジュールは不可欠です。実際作成するとなると、日付を入力したり矢印を挿入したり面倒です。それらを簡単にするマクロです。 まず、以下のようにタスク名とそのタスクの開始日と終了予定日を入力します。あと▽印を入れたいところにその日付を入力します。 この状態でマクロを走らせると以下のようなスケジュールが完成します。 ①開始日の一番小さい日付から最終日までの表を作成 ②休日を灰色に塗る ③週番とその月を記入しそれぞれのタスクの矢印を引く ④週ごとに実線と破線を引き分ける ここまでしようと思うと結構大変。それを自動化してくれるマクロです。ついでに、タスクが完了した後は済マークを付けることもできます。 このマクロの作成方法について、今後説明していきます。今日はここまでです。
まずはスケジュールの大枠である表を作成していきます。 【準備】 セルD2にスケジュールの一番初めの日、セルD3に最終日を入力します。 (タスクの開始、終了日を範囲としたmin関数とmax関数を使ってもいいです。) 「祝日」シートを作成し、A列に祝日を羅列しておきます。 【マクロ】 まず最初にいくつか定義しておきます。 Dim startday As Range Dim endday As Range Dim daysStartCell As Range Dim taskCell As Range Dim printAreaStart As Range Dim xxx As Range Dim GetMonth As Long Dim GetWeek As Long Dim holydayCell As Range スケジュールの開始日(セルD2)と最終日(セルD3)を変数に取り込みます。そ
スポンサードリンク ExcelVBA 仕事でスケジュールを管理するために カレンダーをエクセルで作ったのですが、 今日の項目をすぐ見つけられるように 線を作成して その線がファイルを開くと 自動で今日の日付のセルに移動するというものを 作ってみました。 スポンサードリンク 作ってみたVBA スケジュール まず、初めに ファイルを開いた時にVBAが起動してほしいため 以下のVBAを【ThisWorkbook】の中の 【Workbook】の【Open】に記載します。 ThisWorkbook Dim C As Integer '列番号 Dim ToDay As Date '本日の日付 '今日の日付を取得 ToDay = Date Worksheets(1).Activate Set FoundCell = Rows(1).Find(What:=DateValue(ToDay), LookIn:
単純に考えれば、セル A1は4.8-4.7= 0.1, セル B1 も 0.1 であるから、セル C1 に =A1=B1 という計算式を入れれば結果は TRUEである。以下同様で、セル C2 もセル C3 も TRUEとなるのが「アッタリマエ」である。しかし、実際にこの計算を行ってみると以下のように全て FALSEとなる。なぜ? 1. 無限小数を含む計算を有限桁数で計算すると何が起きるか たとえば、1÷3を計算して、その答えに3を乗ずる計算を考えてみよう。1÷3は 0.333333333…であるから、紙に中間の結果を書こうとするといつまでたっても終わらない。それでは困るので、中間の計算結果では小数点以下10桁まで書くというルールを(便宜的に)作る。すると、 1÷3 = 0.3333333333 0.3333333333×3=0.999999999 あれ。1÷3に3を乗じたのに、1に戻ってい
'--------------------------------------------------------------------------------- Sub IfThenElseで条件に応じて処理する() If Range("E9") = 4 Then '※2 4月なら 月別処理4 '※3 ElseIf Range("E9") = 5 Then '※2 5月なら 月別処理5 ElseIf Range("E9") = 6 Then '※2 6月なら 月別処理6 Else 'その他なら 月別処理その他 End If End Sub '--------------------------------------------------------------------------------- <コメント> ※1 この例では、If~Then~Elseを使って月を調べているが、月
クライアントからシステム開発案件を受注し、開発成果物を納品する際に、エビデンスとして、Excel上に貼り付けたスクリーンショット(以下、スクショ)を、成果物の仕様書や納品書と共に納品する場合がある。この作業は、クライアントに「こういったテストを実行しました」という証拠を提示するものとなる。クライアントに成果物の機能や制限事項などを説明する場合に大変に有効なものとなっているのが現状だ。 実際、Excel上に記述したテスト仕様書や納品書にスクショを張り付けて、成果物の一部として納品しておくと、後々何らかのトラブルが発生した場合も問題解決に大きく寄与することになる。 しかし現実問題として、成果物の機能のスクショを、Excel上に手作業で延々と張り付けていく作業は単純作業であることもあり、開発者にとっては苦痛この上ない作業だ。 そこで、そのような作業を自動化し手助けをしてくれるツールとして「Sel
複数の条件に一致する数値の合計を求めるExcel関数である、SUMIFS(サム・イフス)関数の使い方を解説します。 対応バージョン:365 2021 2019 2016 2013 2010 SUMIFS関数は、複数の条件に一致するセルを検索し、見つかったセルと同じ行(または列)にある、[合計対象範囲]のセルの数値の合計を求めます。 入力方法と引数 SUMIFS(合計対象範囲, 条件範囲1, 条件1, 条件範囲2, 条件2, ...)
今回はVBScriptをやってみたいVBA使いの方へ、VBAで書いたコードをVBSに移植する方法を説明しようと思う。 特にあまり知られていないであろう最初から移植性を意識したコードを書く方法について紹介する。 執筆のきっかけになったのはこちらの記事。 chemiphys.hateblo.jp VBScriptの作り方 テキストエディタでコードを書いて、拡張子をvbsとして保存するだけ。 実行するにはダブルクリックする。 ドラッグ&ドロップしたファイルを処理するようなスクリプトも作れる。 VBAとの違い エントリーポイント(プログラムの開始点)がファイルの先頭 VBAの場合、Subプロシージャを複数作ってそれぞれがエントリーポイントになるけれど、VBSの場合はファイルの先頭がエントリーポイントになる。 つまりSubプロシージャなどを書かずに、いきなりMsgBox "Hello"と書けば動くの
似ているので簡単…? VBAとVBScriptは文法が似ているので、VBAに慣れている人ならば、簡単にVBScriptが書ける、という記事をよく見かけます。ところが、自分でVBAを初めてVBScriptに移し替えると意外とつまづくポイントが沢山あったので、メモします。 なお、以下ではExcel VBAからVBScriptの場合について書いていますので、Word VBA、PowerPoint VBA等を使われている場合は、適宜読み替えてください。 found, known and done / VBと類似したプログラミング環境についてhttp://foundknownanddone.blogspot.jp/2014/04/vb.html まず、何をするのか。 色々なサイトでよく以下のように書いてあります。 新規テキストファイルを作成します。 VBAのコードをコピーして、そのファイルにペースト
コメントにて以下のようなご要望をいただきました。 Outlook2010のVBAをVBSで起動させたいと思っているのですが、どのようなVBSを作成すればよいのでしょうか? またよろしければ、VBAをVBSに、VBSをVBAに変換できるような詳しいページ等を作っていただけたら幸いです。 Visual Basic for Applications (VBA) と VBScript (VBS) は、どちらも基本的に Visual Basic の文法を踏襲しており、Visual Basic のステートメントや関数が使用可能です。 しかし、VBA のオブジェクトや関数、ステートメントの中には VBScript で使えないものがいくつかあります。 その代表的なものは以下の通りです (完全なリストについては「Visual Basic for Applications Features Not In VB
ワークシート関数は、VBA関数とは別物 今回はVBAにおけるワークシート関数の使い方について解説する。 ワークシート関数はExcelの「数式」で使える関数であり、VBAの「関数」とは別物だ。名前が同じで、同じ機能を持つものもあれば、名前が同じでも機能が多少異なるものもあるので、注意してほしい。 VBAでワークシート関数を呼び出して利用するには、ApplicationオブジェクトのWorksheetFunctionオブジェクトを取得して「メソッド」として利用する。Applicationオブジェクトは省略が可能だ。 WorksheetFunctionのメソッド一覧については、「WorksheetFunction メンバー (Excel)」を参照してほしい。 ここからは代表的なワークシート関数である「INDEX」「MATCH」「VLOOKUP」を例に、VBAにおけるワークシート関数の使い方を解説
Selenium VBAの基本的な使い方について取り上げます。各種サンプルソースを通じて動作確認してみるといいかと思います。 ※下記情報なども参考になります。 ・https://code.google.com/p/selenium-vba/ ・Selenium VBAのインストール先に格納されているヘルプファイル ⇒ SeleniumWrapper\SeleniumWrapperApi.chm ブラウザの起動・終了 Public Sub selenium_test1() Dim selenium As New SeleniumWrapper.WebDriver selenium.Start "chrome", "https://www.youtube.com" selenium.get ("channel/UCEgdi0XIXXZ-qJOFPf4JSKw") selenium.stop E
VBAでWeb情報を取得する方法として、CreateObject(“InternetExplorer.Application”)でIEを操作する方法がよく取り上げられています。この方法については「Excel/VBA : VBA IE操作 | DN-Web64」で取り上げています。 今回は別の方法でWeb情報を取得します。どういった方法かというと「Selenium VBA」を利用した方法です。 Seleniumは、ブラウザ操作のテストを自動化しくれるオープンソースソフトウエアです。「Selenium VBA」を利用するとVBAから「Selenium」を通じてブラウザ操作することができます。「Selenium VBA」では、IE以外にChromeやFirefoxなども利用できます。 Selenium VBAのインストール 1. https://code.google.com/p/seleniu
右から数えて、1番目の数は2倍、2番目の数は3倍、…、6番目の数は7倍とします。7番目の数は2倍、8番目の数は3倍として以下、繰り返し、これらを合計します。 合計を11で割ったあまりを求めます。 あまりが0のときは「0」、0以外のときは「11-あまり」がチェックデジットとなります。 JavaScriptとVBAでサンプルを作ってみました。 JavaScript function checkdigit_m11(txt) { //チェックデジット(モジュラス11ウェイト2-7) var s = 0, i; for (i = 0; i < txt.length; i += 1) { s += txt.substr(txt.length - i - 1, 1) * (i % 6 + 2); } return s % 11 === 0 ? 0 : 11 - s % 11; } Function ch
Excel VBA の場合は、Microsoft Internet Controls を参照設定 Excel VBA の場合は、 Microsoft Internet Controls と Microsoft HTML Object Library を参照設定しておくと、コーディングで、.(ドット)を押したときに、プロパティやメソッドの候補が出てくるので便利です。 参考: VBAでIE制御するためのライブラリ追加(参照設定) http://www.vba-ie.net/library/ エクセルVBAでIE(Internet Explorer)を操作する時に役に立つプロシージャまとめ http://matome.naver.jp/odai/2137349926300192301 三流君VBAでIE操作 まずは、参照設定から http://www.ken3.org/cgi-bin/group
愛用本 標準 ASP テクニカルリファレンス TOP メモ全般 DNS と ActiveDirectory 関連 Windows Server 2003 SP1 関連 リモートデスクトップ 関連 WSC 関連 SMTP 送信関連 IIS 関連 ASP 関連(ここ) プログラマ以外は一度、目を通しておくとよい。 プログラミングについてあまり知られていない7つのこと http://www.tommyjp.com/2010/08/blog-post_1710.html スタートアップ企業で8年間Webの開発をしてみての反省点いろいろ http://blog.madoro.org/mn/84 月刊エンジニアライフ(26)プログラマとリーダーの「すれ違い」を解決しよう http://jibun.atmarkit.co.jp/lcom01/rensai/el/26/01.html 電話するならまず先に
残念ながらVB6にはURLエンコード・デコードをする関数が標準では用意されてない。(.NETにはあるらしいんだけどね。。。) 1バイト文字だけだったら自分で関数を書いてもいいのだが、2バイト文字も扱わないとならないとなると、途端に書く気力が失せる。(自分だけかな?) そんな人のために、VB6から簡単にURLエンコード・デコードする方法。 '================================================== 'UrlEncodeUtf8: 文字列をUTF-8でエンコードするFunction '================================================== 'strSource: 元の文字列 '返り値: エンコードされた文字列 '===============================================
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く