[[20140722224640]] 『不要データの削除』(あちゃこ) ページの最後に飛ぶ

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

 

『不要データの削除』(あちゃこ)

 2行目の型式ABCの出来高50を、一旦取り消すために、3行目のC列で判定4を入れ
 D列で取消とし、-50にしています。
 3行目でもう一度出来高を入れ直し、差し引き50というデータがたくさんあり困
 っています。
 4行目と7行目だけを残し、他は削除したいのですがご指導お願いします。

       A       B       C   D
 1   型式   出来高    判定   区分
 2  ABC   50    1 
 3    ABC     -50    4  取消
 4    ABC      50    1
 5    DEF      30    1
 6    DEF     -30    4  取消
 7    DEF      30    1

< 使用 Excel:Excel2010、使用 OS:Windows8 >


こんばんは

標準モジュールに下記コードを貼り付けて
必要範囲選択して実行。

Sub 重複削除()

    Selection.RemoveDuplicates Columns:=1, Header:=xlNo

End Sub

違っていたらごめんなさい。
(五線譜) 2014/07/23(水) 03:37


 五線譜さんありがとうございます。
 。説明不足でした。すみませんが仕切り直しさせてください。

 2行目の型式ABC、工程名aの出来高50を、一旦取り消すために、3行目のD列判定に4を入れ
 E列で取消にして-50にしています。
 3行目でもう一度出来高を50入れ直し、差し引き50というデータがたくさんあり,、困
 っています。
 削除したい行は、2行目3行目。8行目9行目。11行目12行目です。
 勝手を言って申し訳ありません。再度ご指導お願いします。

        A       B        C     D    E
  1   型式   工程名   出来高    判定     区分
  2  ABC      a      50    1 
  3    ABC      a        -50    4   取消
  4    ABC      a         50    1
  5    ABC      b         50    1
  6    ABC      c         50    1   
  7    ABC      d         50    1
  8    ABC      e         50        1
  9    ABC      e        -50        4     取消
 10    ABC      e         50        1
 11    DEF      a         30        1
 12    DEF      a        -30        4     取消
 13    DEF      a         30    1
 14    DEF      b         30    1      
 15    DEF      c         30    1
(ni) 2014/07/23(水) 21:53

	A	B	C	D	E	F
1	型式	工程名	出来高	判定	区分	フラグ
2	ABC	a	50	1		1
3	ABC	a	-50	4	取消	1
4	ABC	a	50	1		0
5	ABC	b	50	1		0
6	ABC	c	50	1		0
7	ABC	d	50	1		0
8	ABC	e	50	1		1
9	ABC	e	-50	4	取消	1
10	ABC	e	50	1		0
11	DEF	a	30	1		1
12	DEF	a	-30	4	取消	1
13	DEF	a	30	1		0
14	DEF	b	30	1		0
15	DEF	c	30	1		0
16						

 F列作業列

 F2 =COUNTIFS(A3:A$1000,A2,B3:B$1000,B2,E3:E$1000,"取消") 
 下へコピー。

 F列基準に昇順並び替え。 F列「1」の行を削除。
 
(GobGob) 2014/07/24(木) 07:56

 素人コードですが

 Sub 取消削除()
  Dim v As Long
  Dim i As Long
    v = Cells(Rows.Count, 1).End(xlUp).Row
    Application.ScreenUpdating = False
    For i = v To 2 Step -1
        If Cells(i, 4).Value = 4 Then
           Cells(i - 1, 5).Value = "取消"
        End If
        If Cells(i, 5).Value = "取消" Then
           Cells(i, 5).EntireRow.Delete
        End If
    Next i
    Application.ScreenUpdating = True
End Sub
(五線譜) 2014/07/24(木) 10:34

E列に"取消"があったら、1行上もあわせて行削除ということでよいですか

 Sub test()
    Dim c As Range
    Dim cc As Range

    For Each c In Range("E3", Cells(Rows.Count, 5).End(xlUp))
        If c.Value = "取消" Then
            If cc Is Nothing Then
                Set cc = Union(c, c.Offset(-1))
            Else
                Set cc = Union(cc, c, c.Offset(-1))
            End If
        End If
    Next

    If Not cc Is Nothing Then cc.EntireRow.Delete

 End Sub

(マナ) 2014/07/25(金) 21:57


 >  4行目と7行目だけを残し、他は削除したいのですがご指導お願いします。

 Sub test()
    With Cells(1).CurrentRegion.Offset(1).Columns(4)
        On Error Resume Next
        Union(.SpecialCells(2), .SpecialCells(2).Offset(-1)).EntireRow.Delete
        On Error GoTo 0
    End With
End Sub
(seiya) 2014/07/25(金) 22:38

 Sub test()
    Dim s As String
    Dim myC As Range

    s = "取消"
    Do
        Set myC = Columns("e").Find(s)
        If myC Is Nothing Then Exit Do
        Application.Union(myC, myC.Offset(-1)).EntireRow.Delete
    Loop

 End Sub

(ところてん) 2014/07/26(土) 01:39


コメント返信:

[ 一覧(最新更新順) ]


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