Excel VBA質問箱 IV

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

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


16696 / 76732 ←次へ | 前へ→

【65500】Re:セルの選択範囲
回答  SS  - 10/5/27(木) 14:14 -

引用なし
パスワード
   ▼nakataka さん:

説明不足過ぎましたね済みません。
先ずRSは範囲初め、REは範囲の最後行を表します。
RS=0は範囲の初めが設定されていない状態です。

一応下に説明加えましたがデータがスペース等なく、1〜10以下の数字で
埋められているのならば参照セルが1かどうかだけを判断してやれば
良いと思います。(最初の範囲の処理だけは注意が必要)

Sub test2()
  Dim i As Long, j As Long
  Dim RS As Long
  j = 1
  RS = 2 'データが2行目から始まる前提です。でなければフラグが必要
  For i = 3 To Cells(65536, 1).End(xlUp).Row
    If Cells(i, TC).Value = 1 Then
      Range(Cells(RS, 1), Cells(i - 1, 2)).Select
      MsgBox "範囲 " & j & " です"
      RS = i
    End If
  Next i
End Sub

>Sub test()
>  Dim i As Long, j As Long
>  Dim RS As Long, RE As Long
>  Dim TC As Integer 'データのある列数
>  j = 1
>  TC = 1
>  For i = 2 To Cells(65536, TC).End(xlUp).Row
>    If Cells(i, TC).Value = 1 Then
    参照セルが1の場合は強制的にRS=参照行となるのですが
>      If RS = 0 Then
>        RS = i
>      Else
    RS<>0の場合は以前の範囲指定処理が済んでいない状態(例9で終わる)
    ですので範囲の終わりは今参照している一つ上の行(=i-1)です
>        RE = i - 1
>        Rows(RS & ":" & RE).Select
>        MsgBox "範囲 " & j & " です"
>        j = j + 1
    前の範囲処理が済んでから、範囲設定RS=参照行を行います。
>        RS = i
>        RE = 0
>      End If
>途中のRS =0から下がもう一つ動きがわかりません。
>RE=i-1など詳しく教えてもらえませんでしょうか?

1 hits

【65491】セルの選択範囲 nakataka 10/5/26(水) 17:39 質問
【65492】Re:セルの選択範囲 kanabun 10/5/26(水) 20:32 発言
【65493】Re:セルの選択範囲 nakataka 10/5/27(木) 8:57 質問
【65494】Re:セルの選択範囲 kanabun 10/5/27(木) 9:23 発言
【65495】Re:セルの選択範囲 SS 10/5/27(木) 9:24 発言
【65498】Re:セルの選択範囲 nakataka 10/5/27(木) 13:30 お礼
【65499】Re:セルの選択範囲 nakataka 10/5/27(木) 13:39 質問
【65500】Re:セルの選択範囲 SS 10/5/27(木) 14:14 回答
【65511】Re:セルの選択範囲 nakataka 10/5/31(月) 9:08 質問
【65512】Re:セルの選択範囲 SS 10/5/31(月) 10:52 発言
【65513】Re:セルの選択範囲 nakataka 10/5/31(月) 14:47 質問
【65496】Re:セルの選択範囲 とおりすがり 10/5/27(木) 12:45 発言
【65527】Re:セルの選択範囲 メタ 10/6/2(水) 15:25 回答

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