• ベストアンサー

エクセル 網掛けしてあるセルの行を残してそれ以外の行を削除するVBA

ham_kamoの回答

  • ham_kamo
  • ベストアンサー率55% (659/1197)
回答No.3

> 2行目のセルには、いろいろな項目があるのですが、 > 「品目テキスト」「明細」だけに水色で網掛けをしたいのです。 > そういうときのVBAはどうなりますか? ご質問の回答をする前に、何点か確認させてください。 プログラムを書くときには、厳密に「何がしたいか」が わかっていないと、正確に書けないので。 ・「品目テキスト」「明細」の列は決まっていて、その列名を指定して水色にするのでしょうか。それとも、シート構成が変わる可能性があって、2列目から「品目テキスト」「明細」の文字列を検索して特定して、水色にするのでしょうか。(この場合、行タイトルが変わるとマクロは正常に動かなくなります) ・水色の網掛けをするのは、該当する列の2行目から最後の行まで、ということでしょうか。それともデータ行だけ、あるいはタイトル行だけでしょうか。 ・「水色」というのは、セルの書式設定で「パターン」を設定するときに出てくる色のうち、下から2番目、右から4番目の色でよろしいでしょうか。 ・「網掛け」は同じくセルの書式設定の「パターン」ボタンを押したときに出てくるパターン一覧のうち、どれでしょうか。パターンのサンプルの上にマウスを乗せると、「75%灰色」とか「50%灰色」とか出てきます。このうちのどれかを教えてください。 以上、補足をお願いします。

mipomipo
質問者

補足

お手数おかけしています。 補足します。 (1)「品目テキスト」「明細」の列は決まっていません。 シート構成が変わる可能性があります。 「2行目に項目名が入っている」ということと、「その項目名は変わらない」ということは確かなのです。 が、A列に「品目テキスト」がくる場合もあるし、A列に「明細」の文字列がくる場合もあるのです。 前述しましたが、項目名は変わらないので、項目で検索して特定させて、水色にするというようにしたいのです。 (2)水色の網掛けをするのは、該当する列の2行目から最後の行まででお願いします。 (3)「水色」というのは、セルの書式設定で「パターン」を設定するときに出てくる色のうち、下から1番目、右から4番目の色でお願いします。というわけで、正式には「薄い水色」でした。すみません!! (4)「網掛け」と言っていたのは、下から2番目の左から3番目です。 本当にいろいろ教えていただいており、大変恐縮です。 何卒、宜しくお願い致しますm(_ _)m

関連するQ&A

  • エクセルで、セルに「合格」という文字が入ったら、そのセルの入った行全体に灰色の網掛けがかかるようにできますでしょうか?

    ほぼタイトル通りなのですけれど、 エクセル(97)であるセルに「合格」という 文字列が入りましたら、そのセルの入った 行全体(表の中の事なので表の中のみ)に灰色の 網掛けがかかるようにできますでしょうか? 「条件書式」を使いますと、一つのセルに「合格」と 入りますと、そのセルのみに網掛けがかかってしまうようですし、行全体に網掛けがかかる方法を探しています。。 何か機能を組み合わせていい方法はないでしょうか?

  • エクセルの使い方-最低値のセルに自動網掛け

    エクセルを使っています。1つの行にある複数セルの数値から、最低値を見つけ、そのセルに色網掛けをしたいのです。これを自動で行えるようにしたいのですが、方法など知っておられるかたがいらっしゃれば教えてください。マクロとか、プログラムとかする必要ありますか。。。どんな方法でもよいので、よろしくお願いいたします。

  • エクセルで網掛けの入ったセルを並び替え(昇順・降順)するには

    エクセル97で、例えば、C列に「黄色」の網掛けが 入ったセルがあったとしたら、黄色のセルが入った行を、 上に持ってきたり、下にもってきたり、と並びかえる 方法を探してるのですが、解決手段はありますでしょうか?

  • エクセルで複数行のデータを1行にする方法

    エクセルで複数行のデータを列挿入--切り取り--貼り付けで1行にしたいのですが、 その様なセルの並びが沢山あります。 VBAマクロなどで一度に出来る方法が有りましたらどうか教えて下さい。 データはこんな感じです。 ┌─┬─┬─┬─┬─┐ │01│04│07│10│13│ ├─┼─┼─┼─┼─┤ │02│05│08│11│14│ ├─┼─┼─┼─┼─┤ │03│06│09│12│15│ ├─┼─┼─┼─┼─┤ │16│19│22│25│28│ ├─┼─┼─┼─┼─┤ │17│20│23│26│29│ ├─┼─┼─┼─┼─┤ │18│21│24│27│30│ ├─┼─┼─┼─┼─┤ この様に並び替えたいのです。 ┌─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┬─┐ │01│02│03│04│05│06│07│08│09│10│11│12│13│14│15│ ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ │16│17│18│19│20│21│22│23│24│25│26│27│28│29│30│ ├─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┼─┤ 何卒宜しくお願いいたします。

  • エクセル2003のVBAを教えて

    エクセル2003のVBAを教えてください。 次の対象データで、(1)(2)(3)の作業が出来るエクセルVBAを教えて下さい。 (1)(2)(3)個々のVBAでお願いします。 ●対象データ:種類(A列)、文字(B列)、    データの行数:不特定なので、データのある最終行までとします。 ●教えていただきたい項目  (1):種類だけを(C列)に取り出す。  (2):種類の先頭に空白の行を3行入れて、追加の2行目の種類(A列)に文字(B列)を入れる。  (3):種類が5行以上あるときは、5行ごとに空白行を追加する。 ●対象データ 種類(A列)   文字(B列) AA       あああ BB       いいい BB       いい BB       いいい CC       うう CC       うう DD       ええええ DD       ええええ DD       ええええ DD       ええええ DD       ええええ DD       ええええ DD       ええええ ●(1)のVBAの結果(このようになるVBAを教えてください。) (C列) AA BB CC DD ●(2)、(3)のVBAの結果(このようになるVBAを教えてください。) 種類(A列)    文字(B列) あああ AA        あああ いいい BB        いいい BB        いいい BB        いいい うう CC        うう CC        うう ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ DD        ええええ

  • Excel で位置が変動するセルの指定をVBAで作りたいのですが・・・?

     ExcelのVBAはほとんど初心者なのです。  申し訳ございませんが教えていただきたいのです。  ひとつのシートに表が3種類あるのですが、それぞれ違うデータを  貼り付けようとしています。  元の表の形は同じです。3行の表でデータの数によって行が挿入  するようになっています。  1つ目の表は、開始のセルは決まっているので指定は出来るのですが  2つ目・3つ目の表の開始セルがその時々で変わってきます。  その時の、開始セルのマクロを作成したいのですが分からなくて  教えて下さい。  よろしくお願いします。  説明が下手ですみません。    

  • VBA アクティブ行の削除

    エクセルで、アクティブにしているセルの行のA列からL列のみを削除というマクロを組みたいのですが、どのように記述したらいいのでしょうか? アクティブなセルはA列~L列のどこにあっても、その行のA列-L列を削除というようにしたいです。 (例1) A1がアクティブだった場合、A1~L1が削除される (例2) B4がアクティブだった場合、A4~L4が削除される すみませんが、お分かりになる方がいましたらよろしくお願いいたします。

  • エクセルVBAで空白セルを削除する方法

    みなさん教えてください。 今エクセルVBAで、下記のようにのA列に空白セルがある場合にそのセルを削除し、 空白セルが無い場合何もしないと言うマクロを作っています(下記のように自動記録し ました)。 しかし、作成したマクロは、下記のようにA列に空白セルがない場合はエラーが出てし まいます。 空白セルが無い場合エラーが出ない方法を教えて頂けないでしょうか。 よろしくお願いします。 <マクロ> Sub Macro1() Columns("A:A").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Selection.SpecialCells(xlCellTypeBlanks).Select Application.CutCopyMode = False Selection.Delete Shift:=xlUp End Sub <データ> A --------- 1 2 1 1 1 3 4 ・ ・ ・ (以降約300行続きます)

  • エクセルでの網かけについて

    エクセル上でひとつのセルの中に文字列を入力していて(例えば A B C D ←がひとつのセル内にある)その内のひとつの文字のみ(例で言えば C のみのように)に網かけすることは可能ですか?可能な場合、どうしたら良いのか教えていただけませんか?それと、もしできない場合は網かけではなく、その文字のみ囲むことは可能でしょうか?

  • excel 複数行の一番右の値を異なるセルに表示

    いつもお世話になっております。 Excel2003について質問です。 今、AA列を開始列として、20行程の表があります。 データはAA列からAB、ACと「日々の数値」が入力されており、 表から20行ほど離れた特定のセルに、最新日付のデータを 表示させています。 イメージ      4/1  4/2  4/3  4/4 りんご  1   25   11   12 ゴリラ  5   22   20   18 ラッパ  6   26        21 パンダ  8   29   30   26 だんご  11   28 27 28 ゴリラ  18 パンダ  26  上記イメージのように、 「特定の行の、最新データ(該当する行の、一番右側のセルデータ) のみを特定セルに表示させたい」のですが、方法が分かりません。 (入力されるデータは数値のみで、途中に空白行もいくつか存在します。)  Webなどで検索をしてみたのですが、思うような回答が得られず。。です。  解決できるのであれば、関数・VBAどちらでもかまいません。 (ちなみに、どちらに関しても初心者です。)  有識者の皆さま、なにとぞご教授いただきますよう、よろしくお願いいたします。