• ベストアンサー

Excel VBAでCtrl+Aのようなこと。。

Excelワークシート上で左上の列と行が交差するところをクリックすると、シート全体が選択されますよね。 もしくはCtrl+Aを押しても同じ動作ができます。 これをVBAで行うにはどうしたらいいのでしょうか?

  • w-inty
  • お礼率72% (1169/1618)

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 マクロ記録を利用しましょう。 ま、今回は回答も付けますが。 Cells.Select

その他の回答 (2)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.3

>これはどこで利用するものなのでしょうか? シート画面(全選択したいシートの画面)で実行して下さい。 SendKeysメソッドは、あくまで実際のキー入力をコードにしているだけです。 VBE画面で、実行すれば、VBE画面で[Ctrl]+[A]をキー入力していることになります。 (だから、コード全部を選択するという動作になります。)

w-inty
質問者

お礼

わかりました。 ありがとございました。 ひとつ勉強になりました(^^)

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

No.1です。 もう1つおまけに。 SendKeys "^{a}" [Ctrl]+[A]のキー入力を送信しているだけですが。

w-inty
質問者

お礼

回答ありがとうございます。 マクロ記録をやったら Cells.Select Range("F13").Activate ってなったので、2行目が違うんだろう、と思い悩んでしまってました。2行目消せばよかったんですね(^^; SendKeys "^{a}" これはどこで利用するものなのでしょうか? マクロとして実行したら、マクロのコードが選択されてしまいました…

関連するQ&A

  • Excel 2007 VBAについて質問します。

    Excel VBAの初心者です。 行の非表示と表示についてお聞きしたいのです。 ExcelのSheet1の1行目(1行全体)のみを、シート上のセルをWクリックをして 非表示にしたり表示させたりするのには、どの様なコードを書いたらいいでしょうか? VBA初心者の為、分かりやすい回答をお願いします。

  • EXCEL VBAで

    EXCEL VBAで シート1のA2~G2までの列にA,B,C,D~と題名があり、それぞれの下の行には数字が並んでます。シート2のA2~G2までの列にもA,B,C,D~と題名がありますが、ランダムに並んでます。シート1のAの行を、シート2のAの行に、BにはBへという風にコピーをさせるにはどのようにすればよいでしょうか。またシート1A~Gのどれかが欠けている場合もあります。その場合はシート1にあるもののみコピーすることとします。 わかりにくいかも知れませんか、どうかよろしくお願いします。

  • Excel VLOOKUPをVBAでやりたいのですが、分からなくて困っ

    Excel VLOOKUPをVBAでやりたいのですが、分からなくて困ってます。 Sheet1のC列2行目行こうにSheet2のI列のデータを取得し (A列にデーターが入っている分、(時と場合により表示数が違う為)) なおかつ Sheet1のD列2行目以降にB-Cの差し引きをおこなう 以上のことをSheet1をアクティブにした時VBAでおこなうには、? 教えて下さい。宜しくお願い致します。

  • 特定の列全体を選択or検索パネル立ち上げ時をイベントで拾いたい、EXCEL

    A列全体を選択させて(Ctrlとスペースキーにて)、a列のみを対象として検索をかける、という動作をよくします。その際、検索パネルをだすショートカットキーはCtrl+Fなのですが、間違えてCtrl+Vしてしまう間違いをよくしてしまいます。その間違った操作をしてしまうと、a列の全てのセルがクリップボードにある情報に書き換えられてしまうのです。これを防ぐVBAを作成しようと思っています。 “列全体を選択した時にペーストしたら、その動作は無効”というようなVBAをイメージしています。 列全体の選択時のイベントがあれば、すぐにできるな、と思いまして。シートがアクティブになったときのイベントはありますが、特定の列がアクティブになった時のイベントでも同じ目的が実現できるので、そんな情報でも結構です。検索パネルを開いたときのイベントでも同様です。 なお当サイトのエクセル系ジャンル内で“列全体 選択 イベント 検索 マクロ”といったキーワードを組み合わせて検索しても該当するQAがなかったのでお聞きします。 環境はWindowsXP Pro,使用しているEXCELはExcel 2000 です。

  • Excel VBAでn行毎に行の選択

    Excel VBAでn行毎に行の選択 こんにちわ。 初めて質問をさせて頂きます。 今回ExcelのVBAを使ってあるシートを作成することになったのですが その過程で分からず、詰まっております。 色々調べてみたもののVBAの知識が浅いせいか 該当する様なものは見つかりませんでした。 実行したいのはタイトルの通りです。 例として10行毎に1行ずつ選択したい場合は下記の通りです。 A列 10行目←選択 ・ ・ 20行目←選択 ・ ・ 30行目←選択 ・ ・ 40行目←選択 実際にやりたいことは行を選択後に入力規則を入れたいだけなのですが 5000行近くあるので、一つ一つコードを書く場合 Range("A10,A20,A30,A40・・・").EntireRow.Select 結構な量になります・・・。 VBAなら他にもっと効率いいことができるのでは、と 自分なりに探してはいますが、どうしても見つからないので 皆様のお知恵をお借りしたいです。 よろしくお願いします。

  • Excel2007でCtrl+A時に、一部のセル群のみの選択になるのを

    Excel2007でCtrl+A時に、一部のセル群のみの選択になるのを回避する方法  今晩は、質問させていただきます。どうぞよろしくお願いいたします。 前回の質問の仕方が説明不足でございましたゆえ、改めて質問させてください。  Excel2007で、全セルを選択できる事を期待してCtrl+Aすると、 一部の表やセルのみしか選択されない事が頻繁にあります。 この機能を無くす事は可能でしょうか???  行ヘッダ&列ヘッダの交点をクリックする方法や、任意行(or列)をクリック後に Ctrl+Aすれば、目的動作が可能なことは存じておりますが 毎回、マウスカーソル保持&移動させるのが作業効率が悪く感じておりますゆえ、 何かキーボード操作で可能な方法(orこの機能を無くす方法)などございましたら ご紹介頂きたくお願いいたします。  もしお詳しい方がいらっしゃいましたら、どうぞよろしくお願いいたします。 投稿日時- 2010-09-03 18:37:04

  • excel vbaで複数のcsvファイルの読み込み

    100シート分のcsvファイルのデーターを一つずつ読み込んでexcelにコピーして使用してますが莫大な時間がかかって困ってます。 vbaを使用して作業を簡素化出来る事は出来ないでしょうか? ------------------------------------------ ※ csvの概要 excelで1枚のcsvファイルを開くとA列の11行目から65536行まで数値データがあります。 ※ vbaできたらよいなと思う仕様 そこで、複数のcsvファイルを選択して読み込むとCSV_データと言うSeetのA列の10行目から1枚目のcsvファイル、B列の10行目から2枚目のcsvファイルと言う風に選択した分のcsvを列に続けて数値データを貼り付けしてくれるvbaをご教授していただけると大変助かります。 不躾で申し訳ございませんが宜しくお願い致します。 excel2003 ------------------------------------------

  • エクセルVBAについて質問です。

    エクセルVBAについて質問です。 シート1のユーザーフォームにコンボボックスとテキストボックスが各1つずつ、 シート2のA列には1行目から順に「あ」「い」「う」と文字が入っていて、B列には「1」「2」「3」と値が入っています。 コンボボックスのリストにはシート2のA列の文字が選択できる状態にあります。 この状態で、例えばコンボボックスで「い」を選んだら、テキストボックスに自動的に「2」と入る、というように、コンボボックスのリストの中から任意の文字を選択したときに、テキストボックスにB列の値が入るようにするにはどのようにすればいいのでしょうか?よろしくお願いします。

  • エクセル VBAで関数

    こんばんわ。いつもお世話になっております。 エクセルでデータを加工しているのですが、関数で加工するととても遅くなってしまうので なんとかVBAで作業できないかと模索中です。 Sheet1の、A列=取引先 B列=支店名 となっており、それが3,000行ほどあります。 Sheet2も、A列=取引先 B列=支店名 となっており、 Sheet1のC列に、Sheet1のA列のB列という支店が、Sheet2にあるか確認したいのです。 現在は、Sheet1のC列に、SUMPRODUCT関数でカウントさせているのですが、大変重いです。 ほかのSheetで、VBAを使って関数のような働きをさせている部分があります(前任者作成) そのように、なんとかVBAを使用したいのですが、なかなかうまく出来ません・・・。 どうか、お力を貸してください!! うまく説明できなくて、わかりづらかったらごめんなさい。 よろしくお願いいたします。

  • エクセルVBAで列の選択

    VBAで通常は、Columns("D").Select でD列が選択されるはずですが、途中にセルが結合している個所があると、選択範囲の列が、すべての行で広がってしまいます。 手動で列番号をクリックするとD列だけの選択ができるのにVBAではなぜ出来ないのでしょう? どうコードを変えればいいのでしょうか? エクセル2000です。

専門家に質問してみよう