VBA_amateur_writer_hiro

周囲にVBAを使う人がいないなかwebで勉強しながら書いてきました。私が日々書いている…

VBA_amateur_writer_hiro

周囲にVBAを使う人がいないなかwebで勉強しながら書いてきました。私が日々書いているVBAをご紹介したいと思います。

記事一覧

ファイルの作成日時と更新日時が微妙に違うので揃えたいときに使うvba

はじめに日々仕事でvbaを書いているhiroです。毎日お疲れ様です。 業務で相手先から大量のファイルを受け取りました。そうするとまず始めるのは前回紹介したプロシージャで…

一つのフォルダのなかのすべてのフォルダ名とフルパスを取得して配列にするには?

手作業でフルパスを取得する日々仕事でvbaを書いているhiroです。毎日お疲れ様です。 最近も新たなプロシージャをつくったのでご紹介します。標記のとおり、一つのフォルダ…

電卓が好きなクライアントのためのvba

日々仕事でvbaを書いているhiroです。毎日お疲れ様です。 配列で何か書こうかなと自分が過去に書いたプロシージャを眺めていたら、最近使わないけど、ちょっと便利かもと思…

minが効かない その2

仕事でVBAを日々書いているhiroです。ご覧いただきありがとうございます。今日は簡単に。 先日、以下の記事を書きました。 それで解決方法として以下のコードを書きました…

日本的な表作成のためのセル結合

vbaを業務で日々書いているhiroです。今日は、私のいるドメスティックな業界で求められるセル結合のためのvbaコードをご紹介したいと思います。 twitterとかでみると、神エ…

関数を使わずに最小値・最大値を求める

はじめに先日「minが効かない」という投稿をして、そのときはsmall関数で乗り切ったことを書きました。でも今回は、ワークシート関数を使わずに最大値・最小値を求める割と…

配列問題その2:2次元配列を1次元に変換する

はじめに前々回の「配列問題その1:如何にして0を省略するか https://note.com/vba_writer_hiro/n/nc596c8469c91  」にハートがまったくつかなくてちょっとがっかりし…

min が効かない

日付の配列arrをつくり、最も早い日付を求めようと application.worksheetfunction.min(arr) と書いて何度やっても、0が返されてしまいます。配列の要素数は数百オーダー…

配列問題その1:如何にして0を省略するか

実際に私が毎日どんなVBAを書いているか、ご紹介したいと思います。 ワークシート上のセルを読み込んで、1次元の配列をつくったとします。しかし、それには多数の不要な数…

自己紹介:私のVBAの書き方

はじめまして。周囲にVBAを書ける人がいない環境で、エクセルと格闘しているうちに、VBAが書けるようになりました。ここでは、私の独自のVBAの書き方についてご紹介します…

ファイルの作成日時と更新日時が微妙に違うので揃えたいときに使うvba

ファイルの作成日時と更新日時が微妙に違うので揃えたいときに使うvba

はじめに日々仕事でvbaを書いているhiroです。毎日お疲れ様です。
業務で相手先から大量のファイルを受け取りました。そうするとまず始めるのは前回紹介したプロシージャでファイル名とフルパスをすべて取得することです。

そしてフォルダ名やファイル名から必要なファイルを見つけ出し、前回紹介したプロシージャのうちの「ファイル情報を取得するプロシージャ」を使ってファイル情報を取得します。
しかし、そもそも

もっとみる
一つのフォルダのなかのすべてのフォルダ名とフルパスを取得して配列にするには?

一つのフォルダのなかのすべてのフォルダ名とフルパスを取得して配列にするには?

手作業でフルパスを取得する日々仕事でvbaを書いているhiroです。毎日お疲れ様です。
最近も新たなプロシージャをつくったのでご紹介します。標記のとおり、一つのフォルダのなかのすべてのフォルダ名とフルパスを取得するものです。普段は、as/r というファイラー(windowsのエクスプローラーのようなもの)を使っており、このなかの「名前をクリップボードにコピー」という機能を使って、簡単にすべてのフォ

もっとみる
電卓が好きなクライアントのためのvba

電卓が好きなクライアントのためのvba

日々仕事でvbaを書いているhiroです。毎日お疲れ様です。
配列で何か書こうかなと自分が過去に書いたプロシージャを眺めていたら、最近使わないけど、ちょっと便利かもと思うものを掘り起こしました。
それは、私の相手先となる業界によくいる、「足し算して100%にならないことに対して怒る人たち」をかわすためのプロシージャです。
例えば、こんな表があるとします。

比率の部分は例えばaの箇所は 655/4

もっとみる
minが効かない その2

minが効かない その2

仕事でVBAを日々書いているhiroです。ご覧いただきありがとうございます。今日は簡単に。
先日、以下の記事を書きました。

それで解決方法として以下のコードを書きました。

上記のコードを作っているプロシージャの中で使ったのですが、なぜか戻り値が0になります。日付なので0になるはずがないのです。2019年○月○日になるので0はない。
代入する配列にも0はないのです。まったく理由がわかりません。

もっとみる
日本的な表作成のためのセル結合

日本的な表作成のためのセル結合

vbaを業務で日々書いているhiroです。今日は、私のいるドメスティックな業界で求められるセル結合のためのvbaコードをご紹介したいと思います。
twitterとかでみると、神エクセルとか馬鹿にされるセル結合ですが、これが求められるのは、紙で出力して見やすいかどうかで相手の能力を判断する、という昭和的な仕事の仕方だと思います。
それは古い!と怒るのは簡単ですが、確かに同じ文字列が並ぶデータ形式をそ

もっとみる
関数を使わずに最小値・最大値を求める

関数を使わずに最小値・最大値を求める

はじめに先日「minが効かない」という投稿をして、そのときはsmall関数で乗り切ったことを書きました。でも今回は、ワークシート関数を使わずに最大値・最小値を求める割と単純なvbaコードができたのでご紹介します。

最小値を求めるvbaコードこれです。

Function funcmin(ByVal arr As Variant) As Long'funcmin:1次元の配列で、最小値を求める l

もっとみる
配列問題その2:2次元配列を1次元に変換する

配列問題その2:2次元配列を1次元に変換する

はじめに前々回の「配列問題その1:如何にして0を省略するか https://note.com/vba_writer_hiro/n/nc596c8469c91  」にハートがまったくつかなくてちょっとがっかりしているhiroです。ですが、NOTEを始めたばかりなので頑張って投稿していきたいと思います。
今回は、タイトルのとおり、2次元配列を1次元配列に変換する問題です。それってなんの需要があるんだ?

もっとみる
min が効かない

min が効かない

日付の配列arrをつくり、最も早い日付を求めようと application.worksheetfunction.min(arr) と書いて何度やっても、0が返されてしまいます。配列の要素数は数百オーダー。
同じく最も遅い日付を求める application.worksheetfunction.max(arr) はちゃんとした答えが返ってきます。
どういうことなんでしょう?

しようがないから、sm

もっとみる
配列問題その1:如何にして0を省略するか

配列問題その1:如何にして0を省略するか

実際に私が毎日どんなVBAを書いているか、ご紹介したいと思います。
ワークシート上のセルを読み込んで、1次元の配列をつくったとします。しかし、それには多数の不要な数値があります。仮に不要な数値は「0」だとしましょう。今回の問題は、0をどうやって省略して必要な数値だけ取り出すか、の問題です。

ワークシート関数で省略すればいい?VBAを使わずに、ワークシートの関数でこの問題を解決しようとする場合、私

もっとみる
自己紹介:私のVBAの書き方

自己紹介:私のVBAの書き方

はじめまして。周囲にVBAを書ける人がいない環境で、エクセルと格闘しているうちに、VBAが書けるようになりました。ここでは、私の独自のVBAの書き方についてご紹介します。そして私がどう考えてVBAを書いているかを解説する記事を投稿していきたいと思います。

よくわからないことは覚えないvbaに関する本やwebをみると、「コレクション」「オブジェクト」「ステートメント」「クラス」「private s

もっとみる