ExcelVBAです。



[数量]の列にある数字を、上から順に足していき、その合計が
指定した数(4000等)になる行を選択状態にしたいのです。
(列数が数千ある大きなデータの為、分割する行がすぐにわかる
ようにするため)

A列 B列 C列 D列

↓ 1行目・・・ブランク行
↓ 2行目・・・ブランク行
↓ 3行目・・・ブランク行
商品 単価 数量 備考


★のC5セルから順に下へ数量を足していき、指定した数4000に
になったら、その対象セルがある行を選択状態にしたい。

丁度4000にならない場合は、プラスマイナスで4000に近い行を選択。

タイトル行(4行目)にウィンドウ枠の固定をしていますので
選択された行を後からスクロールで下へ探すのではなく、見える範囲に
選択された行があると有難いです。

教えていただくと大変助かります。
宜しくお願い致します。


回答の条件
  • 1人3回まで
  • 登録:2008/08/09 23:05:39
  • 終了:2008/08/10 00:08:07

ベストアンサー

id:SALINGER No.1

SALINGER回答回数3454ベストアンサー獲得回数9692008/08/09 23:50:48

ポイント60pt

こんな感じでどうでしょうか。

Option Explicit

Sub Macro()
    Dim r As Long
    Dim count As Long
    Dim LastRow As Long
    '合計の数を指定
    Const CountMax As Long = 4000
    
    LastRow = Range("C65536").End(xlUp).Row
    For r = 5 To LastRow
        count = count + Cells(r, 3).Value
        If count >= CountMax Then
            Exit For
        End If
    Next r
    If count - CountMax > CountMax - (count - Cells(r - 1, 3).Value) Then
        r = r - 1
    End If
    Rows(r).Select
End Sub
id:hananeko_0

希望通りの動きをしました!

感激しておりますっ (*^_^*)

本当にありがとうございました!

2008/08/10 00:07:54

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません