[[20110909162435]] 『VBAで条件によってセルの値を削除する方法』(WWWWW) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『VBAで条件によってセルの値を削除する方法』(WWWWW)
 【Excel2003,Windows Vista】

 下のような表があります。
 	A	B	C	D	E
 1	7月分処理内容				
 2	NO.	判別	名前	型	作業番号
 3	01	可	ASERT	100	51102
 4	02	不可	RTYUI	100	51103
 5	03	不要	ZXCCV	200	51104
 6	04	可	YUIOP	500	51105

 表の編集をしていて、以下のような条件でデータ削除をしたいと思っています。

 1、B列の値が「不要」だったら、E列の値を削除する。
 2、C列の値が「Aから始まるもの(A????)」だったら、E列の値を削除する。
 (C列にはいる値は全て5桁の文字列です。)

    Dim 行番号 As Integer
        行番号 = 3
    Do Until Cells(行番号, 2).Value = ""
        If Cells(行番号, 2).Value = "不要" Then
        Cells(行番号, 5).Value = Delete
        End If
        行番号 = 行番号 + 1
    Loop

 1の方の条件ですと、こちらで実行したら問題なく削除されました。
 が、
 2の条件の方をどのように書いたらいいのかわからなく困っています。

 1の方と同じように・・・

    Do Until Cells(行番号, 2).Value = ""
        If Cells(行番号, 3).Value = "A????" Then
        Cells(行番号, 5).Value = Delete
        End If
        行番号 = 行番号 + 1
    Loop

 このように設定してみたところ、うまく動きませんでした。
 うまく動かなかった、と言うよりは、エラーなく終了するが、C列の値が
 「Aから始まるもの(A????)」の行のI列が削除されないで終わってしまいました。

 実行後は、このように編集されたいです。

  	A	B	C	D	E
 1	7月分処理内容				
 2	NO.	判別	名前	型	作業番号
 3	01	可	ASERT	100	         <=削除された
 4	02	不可	RTYUI	100	51103
 5	03	不要	ZXCCV	200	         <=削除された
 6	04	可	YUIOP	500	51105

 処理として、マクロを使って表を編集していて、その一部になるので、関数ではなくVBAでどうにか編集したいのです。
 よろしくおねがいします。


 If Cells(行番号, 3).Value Like "A????" Then
 か
 If Cells(行番号, 3).Value Like "A*" Then
 か
 If Left(Cells(行番号, 3).Value,1) = "A" Then
 か
 If InStr(Cells(行番号, 3).Value,"A") = 1 Then
 でどうでしょうか。

 蛇足ですが下記もおかしいので
         Cells(行番号, 5).Value = Delete
                 ↓
         Cells(行番号, 5).Value = ""
 に修正でしょうか。
 (Mook)

 Sub 削除()

     Dim i As Long
   Dim lngRow As Long

     lngRow = Cells(Rows.Count, 1).End(xlUp).Row

     For i = 2 To lngRow
        If Cells(i, 2) = "不要" Or Cells(i, 3) Like "A*" Then Cells(i, 5).Clear
     Next

 End Sub

 みたいな感じでも・・・。(抜けている箇所があったので修正しました)

 (se_9)


 Mookさん、
 se_9さん、

 ありがとうございます。
 すみません、別の仕事が入ってしまったので、少し時間がかかってしまいますが、
 時間空き次第教えていただいたものを実行してみたいと思います。
 またご報告させていただきますので、よろしくお願いします!!

 (WWWWW)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.