• ベストアンサー

VBA 選択範囲がセル範囲か列丸ごとか区別

マクロ起動時のセルの選択範囲により、異なる処理をしようと思ってます。 ・セル1個あるいは縦に複数個選択されている 選択したセルについて処理 ・1列全体が選択されている 1列のデータ入力されているセルのみ対象 なので、起動時に選択されているのがセル範囲なのか1列全体なのか識別する必要があります。 どうすればいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

ご質問の直接の回答としては、たとえばselection.areas(1).rows.countがcells.rows.countに等しければみたいなのでいいですね。 実際にはこのご相談のあとの「実際にヤリタイ事」の方で何か考えた方が簡単そうな気もします?が、まぁそこはご相談の範疇外なので、暇なら別途ご相談を投稿してみて下さい。

High_Score
質問者

お礼

ありがとうございます。 これで十分です。

関連するQ&A

  • Excel2000で、入力セルだけ列の範囲選択の仕方

    こんにちは!Excelの範囲選択で困っているので助けてください。実際にはマクロで範囲を選択したいと考えております。    A   B   C 1  ああ  いい  うう 2  かか  きき  くく 3  ささ  せせ  そそ 4  ちち  てて  たた … という表がある時に、B1のセルからB列の入力されているセルの一番下のセルまでを選択したい場合は どの様に範囲選択をかけると良いのでしょうか? たとえば、B1を選択してから、Ctrl+Shift+Endを押すと、B1からC4までとか最後のセルまで選択できるんですが、同じ列の最終入力セルまでを選択したいのです。B1からB4までって感じで。 よろしくお願いします。

  • Excel VBA アクティブセルからある一定のセルまでの範囲選択

    Excel VBA アクティブセルからある一定のセルまでの範囲選択 Excel2003を使用しています。 アクティブセルからC列に『計』と入力されている行の1行上のD列までを選択状態にするマクロを作成しようとしています。 C列に『計』と入力されている行は下記のように複数あるので、アクティブセルの行以下に入力されている次のC列の『計』の1行上までとしたいのですが、どのようにコードを書いたらいいでしょうか? 例えば… A2セルをアクティブにしていてマクロを実行するとA2:D3が選択状態に A7セルをアクティブにしていてマクロを実行すると、A7:D9が選択状態になるように という具合です。 わかりづらくて申し訳ありませんが、よろしくお願いします。    A     B     C     D 1  日付    №   品名    金額 2  1/1     1    ○○○   1,000 3  1/2     2    ×××   1,500 4              計      2,500 5 6 7   1/1     5    ○×○   2,000 8   1/3     6    ××○   1,200 9   1/4     7    ×○○   2,500               計      5,700            :            :

  • セル範囲選択について

    エクセルのセル範囲選択ですが、[CTRL]+[SHIFT]+[↓] で連続データの末尾まで選択できますが、空白がある場合上手くいかないと思います。 空白も含めてデータの末尾まで一気に選択する方法はないでしょうか? 列を全て選択したり、マクロを使うなどの方法以外でお願いします。

  • Excel VBA 結合セルがある時に1列だけ選択

    A1からD1までの4つのセルが結合されている時に C列をクリックするとC列だけを選択できます。 これをVBAで記述するには どのように記述すればよいでしょうか。 マクロの記録では Columns("C:C").Select というコードが生成されるのですが マクロ記録時にC列だけが選択されていたのに 実行するとAからDの4列が選択されます。 読み込んだファイルを処理するので 結合セルの存在やセルは不定です。 よろしくお願いします。(Windows7,Excel2010)

  • マクロを使って範囲選択したい

     エクセルのセルにランダムに入力されたデータについて、データが入力されたセル(データが入っていない空白部分も含めて)全てを範囲選択したいのですが、マクロを利用してできますでしょうか。  その後、コピーペーストする予定なのですが、シート全体を選択する方法は駄目です。あと、空白セルも存在するので、入力された1つのセルを選択して、ctrl+Shift+*も駄目です。  もともとのデータは、OCRソフトで読み込こんだデータをエクセルにしたものなので、基本ぐちゃぐちゃにデータが入力された状態になっています。  わかりずらい質問かもしれませんが、回答願います。

  • VBA 範囲選択について

    複数のセルを選択してマクロを実行し、範囲選択の個数をMsgboxで表示したいです 例えばA1:B5、C6、D2:E3、を同時に範囲選択していたら「3個」のように表示 分かる方がいらっしゃるのであれば、回答をよろしくお願いします

  • VBAで行範囲を抽出して隣のセルに貼り付ける

    Excel VBA初心者です。 A列にある以下のデータの「aaa」から「bbb」の範囲を検索して 切り取り、隣のセル(B列)に貼り付けるマクロを教えてください。 実際のデータは「aaa」から「bbb」の範囲のデータが500個くらい あるので、隣のセルに貼り付けていく作業をマクロで処理したいと 考えています。 ・マクロ処理前 列A aaa data0 data1 data2 bbb datax ------------ aaa data3 data4 data5 bbb datay ------------ aaa data6 data7 data8 bbb dataz ・マクロ処理後 (処理前のdatax、datay、datazは列Aに残ったままで構いません) 列A  列B   列C    列D 空白  aaa   aaa   aaa 空白  data0   data3   data6 空白  data1   data4  data7 空白  data2   data5  data8 空白  bbb   bbb  bbb

  • エクセルVBA セルの値で、複数の列範囲を同時に

    セルの値を利用して複数の列範囲を選択したいです セルA1に 3 と入力されていて、AA列がアクティブの場合 Range("AD:AF,AJ:AL").Select の様に、アクティブ列から3列空けて、3列選択、3列空けて、3列選択の様にしたいです AA、アクティブ AB AC AD、選択 AE、選択 AF、選択 AG AH AI AJ、選択 AK、選択 AL、選択 AM

  • セル内の文字列操作について

    Excelでセル内の文字列を操作したいのですが、Excelの標準の関数では出来そうにないので、どなたかお力をお貸しください。 1つのセル内に、文字列や数値が複数入っています。 (例) Excel 12 りんご Word 11 このセルを調べて、数値のデータが複数入っている場合、最大値のみを表示させ、残りの数値データは削除したいのです。 (結果) Excel 12 りんご Word この処理の対象はセル内の数値データであって文字列には作用させず、結果的には文字列はそのまま表示させたいのです。 Excelの文字列に関する関数を調べてみたのですが、該当するものがなく、VBAを使用しなくてはならないのかもしれません。処理するデータが大量なため、VBAマクロなどで処理できれば大変ありがたいのですが、どなたかご存知の方がいらっしゃいましたら、ご教授くださいませ。どうぞよろしくお願いいたします。

  • VBAで空白セルの選択について

    条件以外と空白セルに色をつけないように指定したいのですが、 specialcells(???blank)で空白セルの選択ができますが、条件式での空白セルの指定方法について教えてください。あと16進数のデータが文字列で表されているのですが、マクロ内でビット取得し、計算処理をさせたいのですが、どう指定したらいいのですか。

専門家に質問してみよう