人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ExcelVBAです。


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

A列B列C列D列

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


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

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

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

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





●質問者: hananeko_0
●カテゴリ:ビジネス・経営 コンピュータ
✍キーワード:C5 にわか ウィンドウ スクロール セル
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● SALINGER
●60ポイント ベストアンサー

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

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
◎質問者からの返答

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ