アプリ版:「スタンプのみでお礼する」機能のリリースについて

Aセルに【クリア】、【NG】などの文字が入って居ます。

Aセルが、【クリアと言う文字の】行を最下行まで削除するにはどういったコードを書けばよいでしょうか。

1万行とかあるので、出来るだけ早い方法が理想です。

詳しい方、教えて頂けませんか。

よろしくお願いいたします。

A 回答 (3件)

コードと云う事なのでVBAですよね。


>1万行とかあるので、出来るだけ早い方法が理想です。
データ数が多いので、ここは発想を変えます。
別シートに、【クリアと言う文字を含まない】行のデータを抽出する。
もちろん、1行目に、きちんと項目名があってデータが下にあるとしてです。

フィルターオプションの機能を使います。
http://www.eurus.dti.ne.jp/yoneyama/Excel/filter …
などを参考にしてください。
Sheet1が元データ
 A   B    C
項目1 項目2 項目3
NG
クリア
・・・・

Sheet2
 A   B    C     J
項目1 項目2 項目3   項目1
              ="<>クリア"

マクロの記録で得られたコードですが
Sub Macro1()
Sheets("Sheet1").Columns("A:C").AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range("I1:I2"), CopyToRange:=Range("A1:C1"), Unique:=False
End Sub

となりました。
また、NGを抽出したければ
Sheet2
 A   B    C     J
項目1 項目2 項目3   項目1
              NG
とします。
コードを編集せずに、色々と応用もできますし
何といっても早いです。
    • good
    • 0

私は、マクロを中心にして回答している側にとって、質問の意味が良く分かりません。


私の理解度が低すぎるというなら、無視して構いません。文章から得た疑問を呈したまでですから。

そもそも、「Aセル」とはなんでしょうか?
一つしかないものなのか、複数あるものなのか、(列方向に対して)任意の場所にあるものでしょうか。英語的に言えば、任意の一つのセルであり、それは複数あることも考えられます。

2.「 クリア」と入っている文字を見つけたら、「その行の最下行まで削除する」とは、プログラム的には、その「クリア」のあるセルの右側、データがある分を全て消去するように思えましたが、言葉通りなら、「クリア」のあるセルの下の列の部分のセル全体をデータ削除するようにも思います。

その際に、【削除】(Delete)するということは、その周りのデータを、移動させる可能性があります。データ消去(ClearContents等)なら、この限りではありません。

3.「【クリアと言う文字の】行を最下行まで」の最下行とは、2^20行目のことを意味するのですか?一般的には、データ範囲(UsedRange)までになります。論理的には仮想最下行までは可能ですが、データ認識している範囲の外は仮想行だから、それを実行すると、物理的にはかなり無駄が生じるはずです。

4.今回の タイトルは、「特定の文字を含まない行の削除」となっています。「特定の文字」とは何で、「特定の文字を含まない行」とは、何を対象とするのでしょうか。
1~3を図にしてみました。
「特定の文字を含まない行の削除」の回答画像2
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

当方の記述不足で誤解をさせてしまったようで、失礼いたしました。

AセルはA列です。

A列に特定の文字が含まれない場合、行をすべて削除するという意味でした。

仮に特定の文字が、【返品】である場合、返品以外の文字が入ってる行を全て削除すると言う意味でした。

現実的にはNo1さんの回答が的を得ているようです。

回答いただきありがとうございました。

時間の余裕が無いため、他スレの返信と前後しますが、無視している訳ではございませんので、その点もお詫びいたします。

ありがとうございます。

お礼日時:2015/07/30 00:52

VBAじゃないけど


[Ctrl]+[F] 検索 【クリア】- [すべて検索]
 (状況に応じ、オプションでセルの内容が完全に同一である物を検索する)
[Ctrl]+[A] すべて選択 - [閉じる]
[Ctrl]+[-] 削除
 ●行全体 - [OK]
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

なるほど、この方法で出来るのですね、助かりました、ありがとうございました!

お礼日時:2015/07/30 00:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています