64ビット版のExcel VBAは、Win32のAPI宣言でエラーになります。従来の32ビットアーキテクチャと、64ビットアーキテクチャの違いについては、専門の書籍などを見てもらうとして、要するに、今まで問題のなかったマクロがエラーになるということです。 勘違いしないでくださいね。 新しいExcel 2010すべての話ではありません。 64ビット版Excelに限った現象です。 32ビット版のExcelでは、何も問題ありません。 ちょっと正確な情報ではないのでナニですが、エラーになるAPIもある、と聞きました。てことは、エラーにならないAPIもあるのでしょうか。まさか、すべてのAPIをテストするわけにはいきませんが、私がよく使うAPIでは、ことごとくエラーになりました。 &
■ エクセルVBA超入門 ・9ステップで"Hello World!" からオブジェクト指向まで! 1. "Hello World!"を表示しよう 2. 基本はデータの入出力 3. 繰り返し処理 4. シートで簡易データベース 5. 名前をつけよう 6. 構造化プログラムに挑戦 7. 構造体を使ってみよう 8. フォームを使ってみよう 9. オブジェクト指向に挑戦 ■ エクセルVBA中級編 ・VBAでいろんなテクニック 変数・関数のスコープ 引数の参照方法を明示 配列の中身を一気に複写 識別子がよいコードを作る データ定義型をもっと知ろう 定数と列挙型を活用しよう エラー処理の重要性1 エラー処理の重要性2 いろいろな条件分岐 いろいろな繰り返し処理 演算子について知ろう 文字列操作 連結 変換 置換 文字列操作 検索 比較 書式 日付操作関数を知ろう 数値操作・評価・その他関数 並び替えソ
100ミリ秒待つのに、Excelマクロを使えば、 Application.Wait [NOW()+"0:00:00.1"] VBAだけで、 秒の誤差があってよければ、 Application.Wait CDbl(Now) + (Timer - Fix(Timer)) / 24 / 60 / 60 + CDbl(1) / 24 / 60 / 60 / 10 更に、秒の誤差がでないようにするには、 Do dt = Now tm = Timer Loop While dt <> Now Application.Wait CDbl(dt) + (tm - Fix(tm)) / 24 / 60 / 60 + CDbl(1) / 24 / 60 / 60 / 10 リトライは、例えば、Now=1秒9とTimer=2秒1が合成されて、1秒1となるのを防ぎます。 以下は要注意です。 Application
アクティブセルを移動するのは、Range(アドレス).SelectとかRange(アドレス).Activateのように簡単ですね。移動先のセルが現在のウィンドウ上に表示されていれば、ただアクティブセルが移動するだけですし、移動先がウィンドウに表示されていない場合はワークシートが自動的にスクロールします。こうしたワークシートのスクロールを制御するコマンドもVBAに用意されています。 ワークシートをスクロールさせるときは、一般にスクロールバーを使います。スクロールバーは操作する場所によって、スクロールする量が異なります。スクロールバーは次のようなパーツで構成されています。 昔は、スクロールバーの両端にあるボタンに正式名称はなかったのですが、最近のExcelヘルプなどでは「上向き矢印」「左向き矢印」などと呼んでいるようです。 ワークシートを行単位または列単位でスクロールするには、Windowオブ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く