2018-10-01から1ヶ月間の記事一覧

ユーザーフォーム上でファイルを選択する

昨日は、ユーザーフォーム上の階層別リストボックスにフォルダ名を表示し、それを順次選択して絞り込みを行った。infoment.hatenablog.com さて、今日はいよいよファイル名までを表示させて選択できるようにする。 といっても、やっていることは昨日までと変…

ユーザーフォーム上でフォルダを選択する

昨日までの「指定パス直下のフォルダ名を取得する」は、末端にあるファイルを簡単に選択するための仕掛けだ。 infoment.hatenablog.comユーザーフォーム上のリストボックスで選択したフォルダについて、その隣のリストボックスにサブフォルダ一覧を表示する…

テスト用のフォルダとダミーファイルを作成する

先日、指定パス直下のフォルダ名を取得する関数を作成した。 infoment.hatenablog.com 実際にこれを使ってテストするわけだが、その為のフォルダ及びファイル作成が、結構面倒だったりする。そこで、テストの為のフォルダとファイルを自動生成するマクロを作…

配列を返す関数で、配列を返せない時の処理

昨日は、指定パス直下のフォルダ名を、配列として返す関数を作成した。 infoment.hatenablog.comこの関数では指定パス下にフォルダが無い場合、配列として返す値の数が0であるため、とりあえず数値「-1」を返す仕様とした。ただ何となく。 すると、羽毛田さ…

指定パス直下のフォルダ名を取得したい

職場で受けた質問から、以下をたびたび取得する必要に迫られた。 指定パス直下のフォルダ名を全部 例えば ↓ C:\Tempであれば、 以下の全てが対象となる。 2016 2017 2018 そこで、簡単に取得するマクロを作成することにした。 今回の作戦は、こうだ。 「引数…

列挙型の使い方(思いつき)

今までは列挙型を、列数などを指定するために使用していた。 例えば、こんな感じだ。 A列:名前を入力するセル B列:年齢を入力するセル C列:性別を入力するセル このような場合「A列」や「1列」などの無為記号だと、直感的に理解しづらい。 Sub test1…

Do ~ Loop とギャンブル

先日職場の勉強会で、繰り返し処理を行う場合の方法について説明があった。 Do ~ Loop は、条件が分かっている時に適している For ~ Next は、範囲が分かっている時に適している なるほど、これは端的で分かり易い説明だ。 折角の分かり易い説明を、敢えて…

指定パス下にある指定ファイルの最新版を取得

昨日は指定パスにある指定ファイルの最新版を取得するために、全てのファイル名を取得しようとして失敗した。 infoment.hatenablog.com なぜなら、「全てのファイル数」が数万にも及んでいたから。 1対数万では、効率が悪すぎる。そこで作戦を変えることに…

指定パス下にある指定ファイルの最新版を取得(失敗談)

ある業務に於いて、書類(Excel)上のファイル名(複数)が、最新版か否か確認する必要が出てきた。実際とは異なるが、雰囲気は、例えばこんな感じ。拡張子 :PDF ファイル名:部署コード(3文字)+通し番号(4桁)+更新回数(1文字)部署コードは、…

ある数値がどの範囲にあるかを知りたい

仕事で作成中のツールにて。 ある数値が100単位で、どの範囲にあるか知る必要がでてきた。具体的には、例えば以下のとおり。 数値:130 ⇒ 0100~0199 数値:351 ⇒ 0300~0399 要は、「351」(数値)という入力に対し、「0300~0399」(文字列)という戻り値…

選択した順にセルの値を取得

セルを一つずつクリックする。次いで、選択した順序で選択した値を取得したい。そのような要件があった。 例えば、このようなケースだ。 1から5まで一つずつ選択 20から16まで一つずつ選択 21から25まで一つずつ選択 まずは安易に、配列に格納してみる。 S…

円の公式とExcel VBA

最近は三次元CAD*1で3Dモデルを作成すると、体積や質量、重心などを自動で計算してくれる。だが時には、ササっと手計算することもあって、最近では専らExcelを使っている。 そんな時は計算用のファイルを作成しておいて、使用頻度の高い値をユーザー定…

同姓のときだけ名前も表示する(失敗談)

ある名簿から、名前を取得したい。 名前は、「姓 名」で登録されている(姓と名の間に半角スペース) 取得する名前は、「姓」のみ。 同姓の人がいる場合のみ、「姓 名」を取得する。 姓 名 取得 田中 一郎 ⇒ 田中 山田 太郎 ⇒ 山田 太郎 山田 花子 ⇒ 山田 花…

テーブルのラベルで列を指定した時の失敗談

本日、とれたてホヤホヤの失敗談。最近はマクロのコードに、例えば変数などに日本語を使うことは殆どなくなった。しかしテーブルのラベルで列指定するときなどは、どうしても日本語が登場する。 ⇒ 写真の引用元例えば、↓こんな感じ。 この表は、テーブルとし…

輸出管理と Excel VBA

法律の条文は、難解だ。とりわけ、私のような一般人にとっては。 必要に迫られて読んだのは、「輸出貿易管理令」だった。 日本では外国為替及び外国貿易法(外為法)に基づき、輸出に対し管理が必要だ。具体的には輸出しようとする貨物、または提供しようと…

With ステートメントで初めて知ったこと(失敗談)

今まで、Withステートメントを使う、使わないは、結果に全く影響しないと思っていた。感覚的には、この等式が成り立つのと同じぐらい、当然だと思っていた。 ところで本日、色々あってユーザーフォームにListViewコントロールを設置した。ListViewコントロー…

中学の地理で習う気候と関数

中間試験を前に、中学一年の息子がウンウンと唸っていた。聞けば、中学の地理で習う「気候」が、なかなか覚えられないとか。確認してみると、「丸覚え」を試みたが、なかなか頭に入らないらしい(私も学生時代、地理が苦手だった)。そこで、一緒に教科書を…

Excelの表を「表組するコード」にする際、セルの結合も反映してみる。

昨日は、Excelの表を表組コードに変換する際、併せてセルの色を反映した。 infoment.hatenablog.com今日は、セルの結合状況も反映することに挑戦する。 今日やりたいこと 必要なこと 1.HTMLコードで作成する表について、セルの結合方法を確認 2.表のデー…

Excelの表を「表組するコード」にする際、セル内の色も反映してみる

昨日は、Excelの表を表組コードに変換する際、併せて水平位置を反映した。 infoment.hatenablog.com今日は、セル内の色も反映することに挑戦する。 最初の失敗 二度目の失敗 三度目の正直 【クラスモジュール】(HTMLColorClass) 【クラスモジュール】(HTM…

Excelの表を「表組するコード」にする際、水平位置も反映してみる

昨日は、Excelの表を「表組するコード」に変換するマクロを作成してみた。 infoment.hatenablog.com すると、全く同じような動機で、同じような試みをされている方が既に居られた。 (紹介、ありがとうございます)。 akashi-keirin.hatenablog.comこのまま…

Excelの表を「表組するコード」に変換するマクロ

はてなブログにExcel で作成した表を載せたい、と思うことがある。例えば、このような表。 今までは、良く判らないという理由で避けていたが、今日は表の作成に挑戦する。 今日やりたいこと 必要なこと 1.はてなブログに表を作成する方法調べ 2.マクロで…

Excel で Tab 送り

VBEで、字下げなどのため頻繁に使用する「Tab送り」。そういえば、ワークシートで使ったことが無い。そこで、以下のマクロを試してみた。 Sub TabTest() Range("A1") = vbTab & "A" End Sub 結果は、以下の通り。 値は入っているけど、シート上の見た目では…

化学式の添え字だけを下付けにする

最近、こちら↓のブログ(chemiphysさん)の読者になった。chemiphys.hateblo.jp上記テーマに於いてchemiphysさんは、「化学反応式の添え字を下付き文字にするマクロ」に挑戦しておられる。面白そうなテーマなので、chemiphysさんのアプローチ(正規表現)に…

はてなブログにソースコードを載せる際の一手間を自動化

はてなブログは普段、はてな記法で作成している。理由は、ソースコードを載せる際にシンタックスハイライト(スーパーpre記法)を用いるため。help.hatenablog.com具体的には、ソースコードを >|vb| と || しかし、これが結構手間だったりする。一度なら大し…

ブックに属する名前とシートに属する名前(2)

昨日に続き、Nameプロパティについて。教わったことや試してみたことを、いくつか備忘録として残しておく。 実験 名前を指定してセル選択 マクロで名前を指定して値取得 複数の同じ名前を参照する場合の優先順位 結論 実験 セルに名前を付けて、その値を複数…

ブックに属する名前とシートに属する名前(1)

今まで何となく使っていた、Nameプロパティ。いくつか教わったことや、試してみたことを、備忘録として残しておく。 名前の種類 object.Name= で名付けてみる。 名前と一緒に、シートをコピーしてみる。 シートに属する名前を上書きしてみる。 ブックに属す…

Nameプロパティの不思議

Nameプロパティについて、 不思議だな 面白い なるほど 気持ち悪い と思ったことがあったので、備忘録がてら紹介する。 例えば、マクロでA1セルに「山田太郎」という名前を付けたとする。 Sub NameTest() Range("A1").Name = "山田太郎" End Sub 果たして、A…

複数のシートからデータを集約して一覧表に転記

昨日のフローチャート作成を中締めとして、文体を「です・ます」調から「だ・である」調に変えてみる。理由は、その方が書き易いから。しっくりこない場合は、また元に戻すこととする。 本日のテーマ 考え方と手順 1.番号と名前から辞書(連想配列)を作成…

フローチャート中締め

昨日は、選択したコネクタのタイプを変更してみました。infoment.hatenablog.com本日は中締めとして、今までの機能をGIFにまとめます。フローチャート作成ソフトは、有償/無償に関わらず、良いものが世の中にたくさんあります。従って、自分で作るぐらい…

コネクタのタイプを直線 ⇔ カギに変更する

昨日は、ユーザーフォームのリストボックスから、ワークシート上のコネクタを選択してみました。infoment.hatenablog.com今日は、選択したコネクタのタイプ変更に挑戦です。 今日やりたいこと 必要なこと 1.置き換える「操作」の検討 【クラスモジュール】…