タグ

2016年11月9日のブックマーク (9件)

  • Office TANAKA - Excel VBA Tips[Excel 2007のSortオブジェクト]

    Add2メソッドについて(2019年1月 追記) 2018年10月18日にExcel 2016は機能拡張されて、バージョン1810(ビルド 11001.20074)になりました。このとき実装された機能拡張のひとつに、"新しいデータ型"があります。追加されたのは「株式型」と「地理型」です。両者の型に関しては、下記Microsoftのページをご覧ください。 Excel データ型: 株価と地理 この「株式型」と「地理型」の追加に伴って、セルの並べ替えで条件を指定するSortFieldsコレクションに、新しくAdd2メソッドが追加されました。ちなみに、いままではAddメソッドでした。両者の働きに大きな違いはありませんが、Add2メソッドは、新しい「株式型」と「地理型」のサブフィールドを並べ替えることが可能です。Add2メソッドをヘルプで調べると、次のように記載されています。 この API には、地

  • キーを4つ以上指定した場合のSortメソッドの使い方

  • Office TANAKA - シートの操作[シートを開く]

    シートを開くときは、SelectメソッドまたはActivateメソッドを使います。次のコードは、Sheet2を開いてメッセージを表示し、続いてSheet3を開きます。 Sub Sample01() Worksheets("Sheet2").Select MsgBox "Sheet2を開きました" Worksheets("Sheet3").Activate MsgBox "Sheet3を開きました" End Sub 厳密に言うと、SelectメソッドとActivateメソッドでは動作が異なりますが、そんなもの枝葉末節です。普通の人が普通のマクロを組むのでしたら「○○でなければダメ」など意識する必要はありません。ちなみに、Selectメソッドではシートをグループ化できます。次のコードはSheet1、Sheet2、Sheet3をグループ化します。 Sub Sample01_1() Workshe

  • アクティブなセルを参照する

    現在アクティブになっているセルは、オブジェクトの「ActiveCell」プロパティを使って取得することができます。対象のオブジェクトはApplicationオブジェクト又はWindowオブジェクトです。オブジェクトが省略された場合はアクティブウィンドウが対象となります。

    アクティブなセルを参照する
  • アクティブシートのオブジェクトの取得

    ワークシートのオブジェクトを取得するには、インデックス番号を指定するかワークシート名を指定して Worksheet オブジェクトを取得していましたが、取得する Worksheet オブジェクトを指定する方法として、現在アクティブになっているワークシートと指定することが出来ます。ここでは Excel VBA を使ってアクティブシートのオブジェクトを取得する方法を解説します。

    アクティブシートのオブジェクトの取得
  • RangeとCellsの使い方|VBA入門

    公開日:2013年5月以前 最終更新日:2021-10-16 第11回.RangeとCellsの使い方 VBAではセルを指定する方法としてRangeとCellsがあります。 RangeもCellsも、どちらもRangeオブジェクトでセルを指定するものです。

    RangeとCellsの使い方|VBA入門
  • Office TANAKA - セルの操作[セル範囲の取得]

    操作の対象セル範囲が不定の場合 ここまでの解説では、操作の対象を「セルA1に」とか「セル範囲A1:C3に」などと簡単に決めてきました。もちろん解説なのですから、それは勘弁していただきたいのですけど、実際のマクロ作成では操作の対象を特定することに苦労するものです。操作の対象セルを、どう的確に特定するかが、VBAのビギナーとベテランで差が出るところでもあります。たとえば、次のようなデータを考えてみましょう。 このデータをマクロでクリアします。ただし、データが何行何列あるかは、そのときによって異なります。セルをクリアするにはRangeオブジェクトのClearContentsメソッドを使います。次のコードはセル範囲A1:D5をクリアします。 Sub Sample1() Range("A1:D5").ClearContents End Sub クリアすべきセル範囲の左上はセルA1です。したがって、セ

    pro_searcher
    pro_searcher 2016/11/09
    “CurrentRegion”
  • シートのデータを別のシートにコピーする - アプリケーションとしてのVBA

    ◆シートのデータを別のシートにコピーする VBA で作成するマクロは、Excel の表の操作が主体になります。 セルの操作が main ですが、表の一部を別のシートにコピーすることも良くあります。 まとめてコピーする方法の説明です。 Sheet1 から Sheet2 へのコピーを、マクロ記録させると、 こんな感じでしょうか。 Sub test1() Sheets(1).Select Range("B3:G7").Select Selection.Copy Sheets(2).Select Range("B3:G7").Select ActiveSheet.Paste Application.CutCopyMode = False End Sub これで十分動作するのですが、ループの中で動作させると、シートの選択を 何回も繰り返すので、画面が頻繁に動いてうざったいです。 スピードも遅くなりま

  • GoGo エクセルマクロをはじめよう!

    HOME 難しい勉強していませんか? Excelの自動化に当に必要な上図「ベーシックな範囲」だけに絞って勉強することで、 つまり、マクロ(Excel自動化のVBAコード作り)の最大のコツは、 範囲を絞ってササっと勉強して、最大限時間を掛けずに役立つマクロを作る!ということです。 キカイは、同じ事の繰り返しは得意ですけど、 マクロは、似たような事の繰り返しが大の得意です。 当サイトでは、VBAの難しい部分は排除して自動化に必要な部分だけ学びます。 大概のVBA初学者は、複雑なことばかりを教えられている ので、すぐに挫折します。 Excelの自動化に不要な知識の習得に何十倍ものムダな時間を強いられている感じになっています。それが、いつまで経ってもマクロが作れない1番の原因です。勉強時間の掛けどころが重要であるわけです。 将来、プログラマーに転身したいと言う人であればともかくですが、 自分のや