ぼくLog

子持ち、車持ち、マンション持ちの僕の日常を綴ります。車と、ラクをしたい一心で覚えたエクセルVBAを中心になりそうです。

エクセル

セルの名前の定義の使い方を覚えると確実に作業効率アップ!|エクセルVBA

エクセルVBAでセルを参照する時、こんな書き方してませんか? Dim x As String x = Range("A1").Value x = Cells(1, 1).Value 結論を先に言うと、こういう書き方をしていると間違いなく時間を浪費することになります。 参照セルの位置が変わることなんて日常…

エクセルデータベースにSQLでデータ追加!|エクセルVBA

まず前編はこれ。 yt4u.hatenablog.com ここでエクセルのシートをデータベースのテーブルと見なし、そこからデータを取得する方法をまとめたわけですが、今回は データの追加もSQL使ってものすっごぉぉっく簡単に出来ちゃいますって話です。 前回同様この住…

配列?構造体?いやレコードセットでしょ!エクセルVBA

二次元データの処理するとき、レコードセット使ってますよね?? え!?使ってない!!? もし使ってなかったら、 今日から使い始めましょう!! Excel VBA 本格入門 ~日常業務の自動化からアプリケーション開発まで~作者: 大村あつし出版社/メーカー: 技術…

データベースの処理にはクラスで対応しよう!|エクセルVBA

エクセルのシートをデータベースのテーブルとして扱えるってめちゃくちゃ便利です。 yt4u.hatenablog.com 上記エントリーの最後にも触れているとおり、データベースに関係するコードをクラスで管理する方法を考えたいと思います。 クラスの構成要素を目次で…

エラー値を含む計算はAGGREGATEを使え!|エクセル関数

複数のセルに数値が入っていて、その合計を求めたいときはSUM関数を使いますよね。 でも、その集計対象の中にエラー値が入っていたらどうなるでしょうか? 例えば、こんな状態です。 合計対象の中に「#N/A」というエラー値が含まれていますよね。 エラー値を…

セルには出来る限り名前を付けるべし!|エクセルVBA

結論はタイトルの通り、セルには出来る限り名前を付けるべし!ということです。 すべてのセルに名前を付ける必要はありませんが、データ表のテッペン(特にTopLeft)やデータエリアそのもの、VBAで引数として扱われるような値、あるいはグラフのデータ範囲な…

ワークシートってどうやって選択すればいいの?Worksheets("Sheet1")?Worksheets(1)?Sheet1?|エクセルVAB

ワークシートの特定にはCodeName(コードネーム)を使った方がいいというエントリーを書きました。 yt4u.hatenablog.com CodeNameを使え!なんてエラそうなこと言ってますが、実はぼくはずっとCodeNameの存在を知りませんでした。 ホントにずぅーーーーっと知…

エクセルのシートをデータベースのテーブルとして扱うとめちゃくちゃ簡単にデータを加工できる!|エクセルVBA

エクセルで表データを扱うときに、その表をデータベースのテーブルとして扱うとものすっごぉぉっく簡単に扱えるようになります。 データ追加編はこちら! yt4u.hatenablog.com 例えばこういった住所録があったとします。 (住所録はなんちゃって個人情報で生…

エクセルの表が大きい時は行と列のハイライトで分かりやすくする|エクセルVBA

エクセルで行方向、列方向に数多くのデータが並ぶ、とにかく大きな表に出くわした、もしくは作らざるを得なかったことはありませんか? 例えばこのような表です。 大きな表になってしまうのは、諸事情があるのでそれ自体を否定するわけではありません。 ただ…

Timer関数を使ったストップウォッチ|エクセルVBA

エクセルVBAで経過時間を計測するには2つ。 Timer関数を使う Windows API の timeGetTime を使う Windows API を使ったストップウォッチはこちらの記事をご参照ください。 yt4u.hatenablog.com 今回はTimer関数を使ったストップウォッチを作ってみました。 T…

クラスとCollectionを使ったストップウォッチ|エクセルVBA

エクセルVBAで経過時間を計測するには2つ。 Timer関数を使う Windows API の timeGetTime を使う Timer関数を使ったストップウォッチはこちらの記事をご参照ください。 yt4u.hatenablog.com 今回は、Windows API の timeGetTime を使って、クラスとCollectio…

Collectionは強い味方|エクセルVBA

Collection は強い味方です エクセルVBAで、配列はスタメンです、と言っていましたが yt4u.hatenablog.com 配列の存在価値を脅かす「Collection」というのがいます。 Collection とは Excel 最強の教科書[完全版]――すぐに使えて、一生役立つ「成果を生み出す…

配列の最小要素数は0(ゼロ)がいい!?|エクセルVBA

デフォルトは0(ゼロ)です エクセルのVBAで配列はスタメンです。 yt4u.hatenablog.com 配列を使うときはハコの大きさを決める必要があります。 Sub サンプル1() Dim strSample() As String Redim strSample(3) End Sub としたときに用意されるハコは strSam…

とりあえず配列志向で|エクセルVBA

配列はスタメンです エクセルのVBAのスタメンを決めていくなら、配列は間違いなくスタメンです。 三次元以上の配列を使うことは稀で、そのほとんどは一次元、あるいは二次元配列がメインになってくると思います。 行と列の二次元で出来たワークシート相性の…

ワークシートの特定にはCodeNameを使え|エクセルVBA

ワークシートに CodeName を設定すればいろいろ捗る まずは、CodeName の設定方法から。 例えば「メイン」と名前を付けたワークシートをActiveにした状態で、VBEのプロパティウィンドウの「(オブジェクト名)」を見ると、デフォルトでは Sheet1 などが入って…