タグ

ブックマーク / officetanaka.net (3)

  • Office TANAKA - VBAのステートメント[SendKeys]

    SendKeysステートメント 構文 SendKeys string[,wait] stringには、アクティブウィンドウに渡すキーストロークを指定します。 waitは省略かのうです。Trueを指定すると、キーストロークが渡るまで処理を中断します。 解説 アクティブウィンドウに対して、キーボードから入力したのと同じようにキーストロークを渡します。 「3」や「A」などの文字は、ダブルコーテーションで囲って指定します。バックスペースやファンクションキーは{BACKSPACE}{F1}と、特殊なコードを指定します。Shiftキー、Ctrlキー、Altキーと同時に押すキーストロークは、「+」「^」「%」と合わせて指定します。 例 コマンド 意味

    Xenos
    Xenos 2019/02/06
    マクロ Send keys
  • Office TANAKA - VBA高速化テクニック[配列を使う]

    パソコン通信時代に書いた、この「VBA高速化テクニック」の中で、間違って伝わっているな~と感じていたのは、冒頭の「画面を止める」と、これ「配列を使う」です。90年代のパソコンはスペックが低かったです。CPUは遅いし、メモリも少なく低速、Windowsの画面描画機能も遅かったし、そもそもExcelもそれほど速くはなかったです。そんな中で、大量のセルにアクセスするのなら、一度配列に入れて配列を操作する方が速いよって話でした。でも、何となく「配列に入れると速い」ということだけが一人歩きして、とにかく何でも「配列は速い!配列は速い!配列!配列ぅ!」って言われてます。 ちょっとやってみましょうか。まずは単純に、データを探す操作から。A列に200,000個の名前が入っています。この中から"田中"を探して、該当するB列の数値を取得します。ちなみに"田中"は一番下のセルA200000にあります。 Sub

  • Office TANAKA - VBAの実行時エラー[オーバーフローしました。(エラー番号:6)]

    Sub Sample1() Dim N As Integer N = 32768 End Sub オーバーフローとは、定められた許容範囲を超えたときに発生するエラーです。上のコードで、変数Nは整数型(Integer)で宣言しています。整数型の変数には、-32,768から32,767までの整数しか入れられません。その許容範囲を超えて32768を入れようとしたためにエラーが起こりました。 注意しなければならないのは、次のようなケースです。今度は変数Nを長整数型(Long)で宣言しました。 長整数型は、-2,147,483,648から2,147,483,647までの整数を格納できる型です。十分な大きさですね。しかし、次のコードはエラーになります。 Sub Sample2() Dim N As Long N = 330 * 100 End Sub 330 × 100 は 33000 です。長整数型

    Xenos
    Xenos 2015/02/26
    オーバーフロー
  • 1