• ベストアンサー

エクセルマクロアウトライン検索

アウトラインのプラスマークがある場所(行、列)をマクロで探すことはできますか? やりたいこと:マクロでプラスマーク(マイナスマーク)がある行、列すべてを塗りつぶしたい。現在、該当行、列のセルに何か値を入れておいてそれを探して場所を探しています。

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

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

こんにちは。 Summary プロパティーで判定できるかと。 Sub SampleProc()      For i = 1 To 20     If Rows(i).Summary Then       Rows(i).Interior.ColorIndex = 34 ' // 34:水色     End If   Next i End Sub

tanaka2030
質問者

お礼

ありがとうございます。 できました。 また機会がありましたらよろしくお願いします。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

x y a 12 a 11 b 23 c 21 c 21 -- 集計後 x y a 12 a 11 a 合計 23 b 23 b 合計 23 c 21 c 21 c 合計 42 総計 88 ------ 下記を実行して Sub test04() For i = 1 To 12 MsgBox i & "=" & Rows(i).OutlineLevel Next i End Sub ーー OutlineLevelの2や1で判定できませんか。 ーー Sub test05() For i = 1 To 12 If Rows(i).OutlineLevel = 2 Then Range("A" & i & ":C" & i).Interior.ColorIndex = 6 End If Next i End Sub

tanaka2030
質問者

お礼

ありがとうございます。 レベルでの判定もできるのですね。 大変参考になりました。 また機会がありましたらよろしくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルのマクロ(検索)

    お世話になります。 エクセルのマクロで以下の処理をしたいのですがアドバイスください。 Excel2002です。 以下は実際の作業を簡略化したものです。 F列が●●という文字列で、かつE列が空白以外の行を検索した結果、 →対象行がない場合、【対象行はありません】というメッセージボックスを出し、OKをクリックしてマクロを終了させる →ある場合、1行目にオートフィルタを設定し、F列が●●という文字列で、かつE列が空白以外の行を表示させる(オートフィルタの機能で)ここでマクロの動作を一時停止させ、【続行】or【終了】が選択できるメッセージボックスを表示させる。 ここで【終了】をクリックすればマクロを終了させる。 【続行】をクリックすれば、いまオートフィルタで表示されている行のD列を値をすべて-1に変更する。次にオートフィルタを解除し、F列にある●●というセルをすべてクリア(空白)しマクロを終了させる。 アドバイスお願いします。

  • エクセル マクロ 検索 シート作成

    Excellマクロで検索とシート作成等を行いたいのですが、全くの素人のためご教授願えればと思います。 具体例として、範囲A-Z列まで約2000行のデータが存在します。 (1)Z列のセルの値に着目し、セルの値と同じ名前のシートが存在するか確認する。 (2)セルの値と同じ名前のシートが存在しない場合、セルの値と同じ名前のシートを作成する。(既に存在する場合は作成しない) (3)範囲A-Z列の行データをセルの値と同じ名前のシートに追加する 以上の(1)(2)(3)の作業を1-2000行で繰り返すようにしたいです。 解りやすくご説明いただけると幸いです。宜しくお願いいたします。

  • Excelマクロに、「検索」は記録されない?

    A列とB列にそれぞれ文字が入っています。 A列に含まれる文字を全て検索 ↓ 見つかったセルを含む行を選択。(A列のセルだけでなくその横のB列のセルもとりたいのです) ↓ 切り取り ↓ 別のシートに貼り付け と言う処理を順次行うマクロを作りたいのですが、自動記録してみたところ、文字列の検索・選択の部分が全く記録されません。 この部分、どのように記述したらよろしいのでしょうか? また、A列のセルのみならず、そのセルを含む行全体を選択するにはどうしたらいいのでしょうか? お分かりの方がいらっしゃいましたら、どうかご教示ください。

  • EXCELマクロ 検索

    Excelマクロで 検索とその結果のコピーを行いたいのですが、全くの素人のためご教授願えればと思います。 Excel2002で 2つの表から共通する部分をKEYに付随するデータ抜き出したいと思っています。関数VLOOKUPを使えば簡単な作業かと思いますがVBAではそのVLOOKUPやFIND、それにLOOPなどの使い方が今ひとつ理解 できません。 具体例として 表1には A-Z列まで約1000行のデータが存在します。 表2は表1と同じシート上の直ぐ隣列AA-AK列まで表1より必ず多い行数のデータが存在します。また表1のA列にあるデータは すべて必ず表2のAA列に含まれます。 行いたい作業は、VLOOKUPのような検索で、表1A列と表2AA列に共通したデータがあった場合、表2の該当セルを基準としてALからBJ列セルに表1の該当行のデータB-Z列をすべてコピー貼り付けすることです。 A・AA列とも同列内では重複も空白もなくソートされています。 これら以外の列には同じValueのデータや空白が存在します。またデータ件数(行数)も表1・2とも一定ではなく都度変動します。 解りやすくご説明いただけると幸いです。宜しくお願いいたします。

  • EXCEL で検索、更新したい

    EXCEL でわからない箇所があり質問します。 前提条件 Sheet1 A列:名前 B列:年月 C列:値 データは、名前と年月で一意になるデータシートがあり マスターデータとして全データが登録されている Sheet2 A列:名前 B列:年月 C列:値 ある条件でとあるデータベースから抽出した名前と年月の一覧がある この段階で値のセルには何も入っていない やりたい事 (1)この状態でマクロを実行し、A列、B列を条件に該当する行から    C列を抽出しSheet2 にセット (2)Sheet2のC列の値を変更後、マクロの実行で    A列、B列の条件を元該当する行から、Sheet1の C列に値を更新 (3)もし、Sheet2のA列、B列の条件に該当しない行がある場合、    Sheet1に行追加しC列を格納 という事をしたいと考えています。 Sheet1 の全ての行をマクロでループさせて A列、B列をif分で比較し行を取得し、Sheet2 に張る場合、 遅くなるのであまりやりたくないと思っています Find 関数も考えたのですが、ヘルプを見る限り、条件が1つしか指定でき ないように思えるのですが、複数列の条件を指定できる Find 関数 あるいは、類似の関数とあかがあるのなら教えてください 最悪は、EXCEL ADO で、自分自身をSQLで抽出、Update、Insert を行う 事も考えていますが、 EXCELのセル内の式で、INDEX関数やDGET関数で簡単に抽出できるのに (ただ、値を変更するので式はかけないけど・・・) わざわざ、ADOでプログラムを組むのもどうなんだろうと疑問に思ってます。

  • ■ エクセルのマクロで出来ますか?

    エクセルマクロの初心者です。 現在、業務で以下の様な表を作成し、請求書の発行を行っています。 「sheet1」A列のNo.を「sheet2」のA列(例えばセルA1)に入力すると VLOOKUP関数で必要項目が請求書の雛形に表示される仕組です。 複数行を抽出する場合は、複数のNo.(例: 1,3,10)を手入力(例: A1,A2,A3・・・)しております。 ----- <sheet1>    A列  B列   C列   D列  ・・・ 1行 No.  項目1  項目2  項目3 ・・・ 2行  1   値1   値2   値3  ・・・ 3行  2   値4   値5   値6  ・・・ 4行  3   値7   値8   値9  ・・・ <sheet2> 請求書の雛形 セルA1~A10に請求書を発行したい<sheet1>A列のNo.を入力。 ----- これを、A列の左に行を挿入、各行にチェックボックスを配置し、 チェックボックスをオンにした行のB列(行挿入前はA列)の値(No.)を 「sheet2」のA列(例えばA1/複数の場合はA1,A2,A3・・・10行程度)に コピーを行う仕組を作ることを検討しています。 複数のNo.をチェック(1,3,10)した場合は、 「sheet2」のA1,A2,A3の様に、上から順になれば理想的です。 説明が悪く、意図が伝わり難いこととは思いますが、 これらの作業を行うマクロ(他の方法も可)を組むことは可能でしょうか。 ご教授いただければ幸いです。 よろしくお願いいたします。

  • エクセルマクロ、アウトラインについて

    マクロでアウトラインの展開を ExecuteExcel4Macro "SHOW.DETAIL(2,3)" で展開できますが、3という数字で指定ではなく、変数で場所を指定したいです。何かいい方法があれば教えて下さい。

  • マクロの記録で作成したマクロがデータが代わると誤動作する。

    マクロの記録で作成したマクロがデータが代わると誤動作する。 エクセルファイルにてA列からJ列までデータがあります。 行数は2,000行です。データは全て半角です。 A列の値が 1=入庫 2=出庫 3=戻入 と全て置換 B列の値が 1=社内品 2=社外品 3=受入 と全て置換。 でこのB列が3で受入に置換えたら その隣のA列の値を 受入に置き換えたい。 さらに A列の値が置換え後の入庫と戻入場合はその行のJ列の値を切り取り、K列に貼付をし A列の値が置換え後の出庫の場合はその行のJ列の値を切り取り、L列に貼付をしたいです。 マクロの記録で行いましたが、 いったんデータを全て消して別データを貼り付けしたらA列B列の置換えは正常ですが B列が3の場合にA列を再置換えと、J列の値を切り取り、K列、L列への貼付が 誤動作します。 (別データは雛形は同じです。入力規則も同じですがデータは変わります。  例:セルA1のデータは1、 新しいデータはセルA1は2 等) マクロの記録中では、並べ替えでソートし上記条件でセルを選択しコピペをしました。 並べ替えは2回です。 マクロ文を見ると、セル名がずらずら並んで、セル番号が指定されてます。 (マクロ記録中に選択したセル番号が全部記録されてます。) 文を見ると、上記条件で置換えやコピペでなく このセルはこう置換え、このセルはこうコピペのように読めます。 これでは、データが代わったら、別の動きになるのかな?と思いました。 こういう場合はマクロではどうやって記録すればいいでしょうか?

  • 【Excel-マクロ】グループとアウトラインの設定をマクロで管理する方法

    Excelマクロについての質問です。 教えてください。 "グループとアウトラインの設定"を使用して、あるシート上の列or行をグループ化しています。 このグループ化された列or行について、ある列or行が 「展開されている状態か?(表示)」        なのか 「閉じられている状態か?(非表示)」 Excelのマクロで判断するにはどうしたら良いでしょうか? 教えてください。 質問の背景は、 「あるグループ化された列が表示されている」ならば、 「他のグループ化された行を表示する」っといった機能を実現したいと考えています。 また、グループのアウトラインで上記が不可能な場合でも、 単純な列or行の表示・非表示で同様の状態管理が可能であれば その方法を教えてください。 皆様、宜しくお願いします。

  • エクセルで連番をマクロで

    こんにちは いつもお世話になっています。 Windows7、エクセル2010で教えてください。  B3から仮にB100まで文字列があるとします、空白セルはありません。 この状態でA3からA100まで1から始まる連番をマクロで実行したいのです。 実際はB列のデータの最終行は不定です。つまり、B列にデータがなくなるまで(空白セルになるまで)A列に連番をつけたいのです。現在はA3,A4に1,2と入力し、オートフィルで該当セルを選択し「予測」で連番をつけています。 マクロ記録ではB列にデータがなくなる判断ができなくて作れません。 この作業が頻繁にあるものですからマクロができれば助かります。 よろしくお願いいたします。

このQ&Aのポイント
  • MX923のエラーから考える廃棄か買い替えか
  • 個人情報の残存を心配して廃棄を検討中
  • キヤノン製品の廃棄やジャンク販売についての質問
回答を見る

専門家に質問してみよう