Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


53244 / 76736 ←次へ | 前へ→

【28310】Re:差額チェック
質問  Help me!!  - 05/9/2(金) 13:13 -

引用なし
パスワード
   りん さん

ありがとうございます。
かなり近くなってきました。

ですが、新しくできたシートの項目で金額B がおかしいです。

どこをどういう風になおしたらよいのかわかりません。

ちなみに、シートAとシートBのA列に管理番号、B列に金額がはいっており、C列以降は他のデータも入っていますが問題ありませんよね?

よろしくお願いします。


>それぞれのシートの
>1行目が見出し、2行目からデータ
>A列がコード、B列が金額として。
>
>Sub test()
>  Dim wb As Workbook, ws1 As Worksheet
>  Dim r1 As Range, r2 As Range, Rpos1&, Rpos2&, Rpos&
> 
>  Set wb = ActiveWorkbook
>  wb.Worksheets("A").Copy '新しいシートが新しいブックにできる
>  Set ws1 = Application.ActiveSheet
>  '
>  With wb.Worksheets("B")
>   Set r1 = .Range(.Range("A2"), .Range("A2").End(xlDown)).EntireRow
>  End With
>  '
>  With ws1
>   Rpos1& = .Range("A65536").End(xlUp).Row
>   .Cells(2, 4).Value = 100001
>   .Range(.Cells(2, 4), .Cells(Rpos1&, 4)).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1, Trend:=False
>   '
>   '下に追加
>   r1.Copy Destination:=.Cells(Rpos1& + 1, 1)
>   Rpos2& = .Range("A65536").End(xlUp).Row
>   .Cells(Rpos1& + 1, 4).Value = 200001
>   .Range(.Cells(Rpos1& + 1, 4), .Cells(Rpos2&, 4)).DataSeries Rowcol:=xlColumns, Type:=xlLinear, Step:=1, Trend:=False
>   
>   '戻す為のソートキーをDに付与
>   '並べ替え
>   .Range(.Cells(2, 1), .Cells(Rpos2&, 4)).Sort key1:=.Cells(2, 1), Order1:=xlAscending, _
>                         key2:=.Cells(2, 4), Order2:=xlAscending, _
>                         Header:=xlNo, SortMethod:=xlStroke
> 
>   Set r2 = .Cells(Rpos2& + 1, 4) '無条件で削除してもよい行
>   Rpos& = Rpos2&
>   '
>   Do
>     If .Cells(Rpos&, 1).Value = .Cells(Rpos& - 1, 1).Value Then
>      If .Cells(Rpos&, 2).Value = .Cells(Rpos& - 1, 2).Value Then
>        '削除対象
>        Set r2 = Application.Union(r2, .Cells(Rpos&, 4), .Cells(Rpos& - 1, 4))
>      Else
>        'データを繰り上げて1つ削除
>        .Cells(Rpos, 2).Cut .Cells(Rpos - 1, 3)
>        Set r2 = Application.Union(r2, .Cells(Rpos&, 4))
>      End If
>      Rpos& = Rpos& - 1
>     Else
>      If .Cells(Rpos, 4).Value > 200000 Then _
>        .Cells(Rpos, 2).Cut .Cells(Rpos, 3)
>     End If
>     Rpos& = Rpos& - 1
>   Loop While Rpos& > 2
>   r2.EntireRow.Delete
>   'ソートして元のならびに戻す
>   Rpos2& = .Range("A65536").End(xlUp).Row
>   .Range(.Cells(2, 1), .Cells(Rpos2&, 4)).Sort key1:=.Cells(2, 4), Order1:=xlAscending
>   'ソートキー削除
>   .Columns(4).Delete
>   .Range("B1").Value = "金額A"
>   .Range("C1").Value = "金額B"
>  End With
>  '
>  Set r1 = Nothing: Set r2 = Nothing
>  Set ws1 = Nothing: Set wb = Nothing
>End Sub
0 hits

【28286】差額チェック Help me!! 05/9/2(金) 8:06 質問
【28287】Re:差額チェック ちくたく 05/9/2(金) 8:57 発言
【28289】Re:差額チェック Help me!! 05/9/2(金) 9:28 質問
【28290】Re:差額チェック だるま 05/9/2(金) 10:25 発言
【28291】Re:差額チェック Help me!! 05/9/2(金) 10:42 質問
【28295】Re:差額チェック だるま 05/9/2(金) 11:32 発言
【28297】Re:差額チェック Help me!! 05/9/2(金) 11:47 質問
【28298】Re:差額チェック こたつねこ 05/9/2(金) 11:56 発言
【28299】Re:差額チェック こたつねこ 05/9/2(金) 12:00 発言
【28318】Re:差額チェック Help me!! 05/9/2(金) 13:59 質問
【28320】Re:差額チェック Help me!! 05/9/2(金) 14:06 発言
【28322】Re:差額チェック こたつねこ 05/9/2(金) 14:29 発言
【28324】Re:差額チェック Help me!! 05/9/2(金) 14:36 質問
【28330】Re:差額チェック こたつねこ 05/9/2(金) 15:30 回答
【28300】Re:差額チェック ちくたく 05/9/2(金) 12:04 回答
【28301】Re:差額チェック m2m10 05/9/2(金) 12:12 回答
【28307】Re:差額チェック Help me!! 05/9/2(金) 13:00 質問
【28309】Re:差額チェック m2m10 05/9/2(金) 13:06 回答
【28312】Re:差額チェック Help me!! 05/9/2(金) 13:26 質問
【28315】Re:差額チェック m2m10 05/9/2(金) 13:42 発言
【28317】Re:差額チェック m2m10 05/9/2(金) 13:56 発言
【28308】Re:差額チェック りん 05/9/2(金) 13:03 回答
【28310】Re:差額チェック Help me!! 05/9/2(金) 13:13 質問
【28321】Re:差額チェック りん 05/9/2(金) 14:20 回答
【28325】Re:差額チェック Help me!! 05/9/2(金) 14:42 質問
【28326】Re:差額チェック m2m10 05/9/2(金) 15:11 発言
【28332】助けてくださった皆様へ! Help me!! 05/9/2(金) 16:06 お礼

53244 / 76736 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free