• 締切済み

A列に合わせて消去するには

画像のように、A列に色付けされた部分以外の行を マクロなど一括で消去する方法はありますでしょうか? 宜しくお願いします。

みんなの回答

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

NO1です。 >全シートを一括で消去することは  一例ですが、以下のコードをシート又は標準モジュールでお試しください。 Sub A列色付け行以外削除() For k = 1 To Sheets.Count For i = Worksheets(Sheets(k).Name).Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 If Worksheets(Sheets(k).Name).Cells(i, 1).Interior.PatternColorIndex = xlNone Then Worksheets(Sheets(k).Name).Rows(i).Delete End If Next i Next k End Sub

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

参考までに。 ご使用のエクセルのバージョンが2007なら「データ」「フィルタ」「色フィルタ」が使えます(このフィルタデータをコピーする)。 ちなみにマクロで色を判断してその行を削除するとき、条件付き書式で色が付けられている場合は、色つきセルと認識されませんが、色フィルタでは条件付き書式で付けられた色もフィルタの対象になります。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.1

一例です。 タブシートを右クリック→コードの表示→以下のコードを貼り付けてお試しください。 Sub A列色付け行以外削除() For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 If Cells(i, 1).Interior.PatternColorIndex = xlNone Then Rows(i).Delete End If Next i End Sub

sifon-cake
質問者

補足

すみません、補足です; このようなシートが沢山あるのですが、 標準モジュールで全シートを一括で消去することは難しいでしょうか?

関連するQ&A

  • エクセル 特定の文字列の消去について

    ある資料Aから、 ある資料Bの文字列を全部消去したいと思っています。 つまり資料Aの文字列から、 Bの文字を抜き出すわけですが Bの資料にはAから削除したい文字が複数フィールドあります。 データ量が多いため、一列にすることが現実的ではないため、 Substituteのようなコラム処理を複数コラムをもとにできるのかどうか、 知識のある方いらっしゃいましたらアドバイスよろしくお願いします。 添付画像のように、 Aにはコラムが一つだけ Bにはコラムが3つあり、 Bのすべてのコラムの文字列をAから消去したいです。 Bの1行目の文字列が Aの違う行に出てきても消去の対象としたいです。 よろしくお願いします。

  • A列の文字列によってB列への入力を変える

    こんにちは。マクロ初心者で、質問なのですが、 エクセルで、A列に入力されている文字列によって、 B列文字を自動で入力するマクロを作成したいのですが、 どのように記述すればよいでしょうか? 例: A列 |B列 |  あ | 01 |A列「あ」の場合、B列の同じ行に「01」  い | 02 |A列「い」の場合、B列の同じ行に「02」 といった感じです。 初歩的な質問で申し訳ございませんがご教授願います。

  • 末尾の数字を文字列から消去する

    office2010 A列に8桁の文字列が複数行入っています。 A1B00001 A1CB0002 A1NDE302 … この状態で後側の数字(一番最後の英の文字列を残す)を消去したいです。 消去された文字列はB列に表示。 上記の場合 A1B A1CB A1NDE … をB列に表示する方法を教えていただきたく。 関数、VBAどちらでも可です。 数字だけを消去というのはWEBで探せたのですが、英と英の間の数字は残したいのです。

  • エクセル A列500行に入力された文字列を50行ずつ列換えしたい。

    エクセル2003です。 A列に文字列が500行ほど入っているシートが20シシートほどあります。シート毎にB列からI列の1行から50行までに50行ずつ移動させ1ページに収めたいのですがその方法を教えて下さい。 50行ずつ切り取り、貼付では時間がかかるのでできれば関数で移動させる方法があれば教えてください。前期高齢者のためマクロはできません。よろしく御願いします

  • 秀丸エディタで【 】内の文字列の消去法

    秀丸エディタ初心者です。宜しくお願いします。 タイトルの通り、作成している文書中の【 】の中の文字列を一括で消去したいのですが、簡単にできる方法はありますか。 できれば【 】自体も一度に消去してしまえれば有り難いのですが、もし【 】が残ったとしても、これはこれで“置換”を使えば消せるので……。 過去の質問を検索してみましたが、該当するものはなさそうでした。パソコンの知識が乏しいので、分からなかっただけかもしれませんが……。 私のパソコンに関する知識は、ワープロ文書を作成できる程度(文字列の入力ができて、置換なら分かるけど、マクロって何?コマンドって何?という程度の知識)です。 そんな私でもできる方法がありましたら、ご教示、宜しくお願いします。

  • 宜しくお願いいたします。急いでるのですが列がA2か

    宜しくお願いいたします。急いでるのですが列がA2からAJまであり、行がA2からA4000まであるのですが、対象となるのはB列に例えば日産とかのようにメーカー名前が、記載されてます。メーカー名前には他に色々なメーカーが記載されてるのですが、メーカー名ごとに区切りのところに太線で区切りたいのです。列は先程のかさAJのところまで太線で区切りたいのです。マクロで教えてください。宜しくお願いいたします

  • マクロにて空白のセルを一括して消去でなく削除したい

    空白のセルを一括して、空白セルについた色も含めてマクロで全て削除したい。 現在のデータ(仕様)について 1.Sheet2に列ごとにセルに色をつけ、データもあるとします。 2.A列10行・B列6行・C;列18行というように、列によってデータの入った範囲が違います。 3.どの行も途中に空白セルはなく、詰めたデータです。 以上です マクロで一括処理したいと思いますが、このようなことができるコードを教えて頂けませんか。よろしくお願いします。

  • エクセルの列 1行おきに色行けをしたい。

    Windows 7 Excel 2010 を使用しています。 エクセルのシートに、1行おきに色付けをするには、「=MOD(ROW()、2)」という関数がありますが、 A列・B列・・・・・・の1行おきの列に色付けをする関数がありましたら教えてください。

  • A列にあったものには1、C列にあったものには2

    シート1の内容をVBAをつかってシート2のようにしたいです。 つまり、シート1の2行目以降のデータをシート2のB列につなげて、 A列には シート1の1行目に記載している番号をふっていきます。 もともとA列にあったものには1、C列にあったものには2、E列にあったものには3と振りたいのですが、どのようにマクロを書けばいいでしょうか? [Sheet1]   A  B  C  D  E 1 1  2  3 2 aa aaa aaaa 3 bb bbb bbbb 4 cc cccc 5  dddd ----------------------------- [Sheet2] A B 1 1 aa 2 1 bb 3 1 cc 4 2 aaa 5 2 bbb 6 3 aaaa 7 3 bbbb 8 3 cccc 9 3 dddd

  • エクセルにて連番文字列を一括で消去

    エクセルでセルが***A0001 ***A0002 ***A0003 ***A0004・・・と続いており、この***を残してA0001 A0002 A0003 A0004の部分だけを消去したいのですがどうすれば一括で消去できますか?A3000くらいまであるので手動ではきついです。どうぞよろしくお願い致します。

専門家に質問してみよう