なぜ「=」だけではシートを代入できないのか
VBAで変数に値を代入するときは「=」を使いますが、シートやセル範囲のようなオブジェクトを変数に代入する場合は「Set」というキーワードが必要です。この違いを知らずに「=」だけで書くと、実行時エラー91が発生します。この […]
VBAで変数に値を代入するときは「=」を使いますが、シートやセル範囲のようなオブジェクトを変数に代入する場合は「Set」というキーワードが必要です。この違いを知らずに「=」だけで書くと、実行時エラー91が発生します。この […]
VBAでループ処理を書くとき、対象の行数を固定の数字で指定してしまうと、データが増減するたびにコードを書き直す必要が出てきます。 この記事では、最終行を自動で取得するCells(Rows.Count, 1).End(xl
コードを書いているときは、変数の意味も処理の流れも頭に入っています。 しかし、その記憶は時間とともに急速に薄れます。数か月後に見返したとき、自分が書いたコードなのに読み解けない、という経験は珍しくありません。この記事では
VBAは、変数をDimで宣言しなくても動く言語です。この仕様が便利に見える一方で、変数名の打ち間違いに気づけないまま処理が進んでしまう原因にもなります。 この記事では、Option Explicitがどのような問題を防い
VBAでセルを指定する方法には、例えば、A1であれば、Range(“A1”)とCells(1, 1)の2種類があります。どちらも同じセルを指しているため、「結局どちらを使えばいいのか」という疑問を
VBAの書き方は覚えた。でも、いざ「自分の業務を自動化しよう」と思ったとき、何を作ればいいのか分からなかった——そんな経験はありませんか? VBAを作れない理由の多くは、VBAの書き方を知らないことではありません。「何を
マクロを作ったはいいが、動作が遅い。データが増えるとさらに遅くなる。「VBAって遅いよね」と言われた——そんな経験はありませんか? 正直に言うと、データが増えれば遅くなるのはVBAの特性として避けられない部分があります。
ChatGPTにVBAのコードを作ってもらった。貼り付けたら動いた。便利だと思っていた。でもエラーが出たとき、どこを直せばいいか分からなかった——そんな経験はありませんか? AIのコードをそのまま使ってはいけない理由は、
前任者が残したVBAのコード。コメントはない。変数名は意味不明。何をしているのかさっぱり分からない——そんな経験はありませんか? 前任者のコードが読めない理由は、「自分だけが分かればいい」という前提で書かれているからです