行っている方向けに、エクセルでの作業を劇的に速く、効率化する方法をお伝えします。HatenaPocketVBAも随分使いこなせるようになってきたと思って、プログラムを組んでみると、妙な仕様にハマッてしまうことがよくあります。そこで、このページでは、私がVBAを使っていて、ハマッてしまった仕様について、忘れないように自分用にメモをしておきます。「End」プロパティで最終行が取得できないEndプロパティはを使う方法は、エクセルのワークシートで「Ctrl+矢印」を使う操作と等価です。そのため、非表示行・列や、オートフィルタで表示されない行がある場合には、最終行を取得することができません。【落とし穴に注意】VBAで最終行の行番号を取得するVBAで最終行の行番号を取得する方法を紹介します。...https://www.excelspeedup.com/vbalastrow/UsedRangeで最終行が取得できないUsedRangeプロパティは、下記のように正しく動作しない場合があります。セルの表示形式の変更をしたセルなども対象に入ってしまういったんセルに値を入力したあとに、そのデータを消しても、UsedRangeが更新されないことがある【落とし穴に注意】VBAで最終行の行番号を取得するVBAで最終行の行番号を取得する方法を紹介します。RuntimeDictionaryオブジェクトを使うときに、参照設定して使うことが多いライブラリです。Sub上記コードの最後のほうの2行(10行目~11行目)に注目してください。Dicから存在しないキー「IndexB」のデータを読み出そうとしているだけなのに、新たに「IndexB」のキーが作られてしまうのです。実際のプログラムでは、存在しないキーでデータを読み出すことはしませんので、このケースが問題になることはほとんどありません。注意しないといけないのは、デバッグ中のイミディエイトウィンドウでの入力です。Dic("IndexC")と入れて中身を確認しようとすると、それだけで、Dicに新しいデータが登録されてしまいます。5.5VBAで正規表現を使うためのライブラリなのですが、思わぬ落とし穴があります。「^」→文字列の先頭だけでなく行頭にもマッチする「$」→文字列の末尾だけでなく行末にもマッチするという説明がされています。ところが、通常のWindows環境では、そのまま使うと正常に動作しません。...http://mofuken.blogspot.com/2014/10/vba-regexpreplace.htmlたとえば、行頭にマッチする「^」を例に挙げます。Subこのプログラムを実行すると、下記のように表示されます。CRのみ^1^2^3LFのみ^1^2^3CRLF^1^^2^^3強調部分が、直感に反する部分です。「^」という文字が、「CR」「LF」の両方(正確にいうと、それらの文字コードの直後)にマッチしてしまっています。解決策としては、次のような方法をケースバイケースで選択しましょう。V6.0VBAから直接インターネットにアクセスするときに使われるライブラリです。XMLHTTP60を使って「302リダイレクト」ページにアクセスするとエラーになる試しに、次のリンクをクリックしてみてください。https://sem.excelspeedup.com/302redirecttest/302redirecttest.php上記URLには「302リダイレクト」と呼ばれる仕組みを組み込んでいます。そのため、上記リンクをクリックすると、URLが書き換わり「https://www.excelspeedup.com/」(=このブログのトップページ)の内容が表示されます。上記URLに対して次のプログラムでアクセスをしてみようと思います。「実行時エラー'-2147024891(80070005)':アクセスが拒否されました」というエラーが表示されてしまいます。X.X」を参照設定したうえで、次のように「WinHttpRequest」オブジェクトを使いましょう。Subこれで、正しくデータが取得できます。ardarimのブログExcelからXMLHTTPを呼び出したときに特定のURLでエラーが発生することがあると先日書いた。...http://d.hatena.ne.jp/ardarim/20070114/1168771797ハマリポイント募集中!もし、ほかにもVBAを使っていてハマッたポイントがあるよ、という場合は問い合わせフォームよりお知らせください。総収録時間162分)を無料プレゼント中です!このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。名メールアドレス無料動画マニュアルを受け取る>※ご登録頂いたメールアドレスに、エクセルを使いこなすための情報を配信するメールセミナー「エクセル倍速講座」も合わせて配信させていただきます。エクセルVBAでCSVファイルを読み込むマクロVBAでCSVファイルを読み込むための「汎用CSV読み込みマクロ」を作りました。...【初心者向け】エクセルVBAのRangeとCellsの使い分け方は?VBAでは、セルを選択するときにRangeとCellsの両方が使えます。