Excel VBA質問箱 IV

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

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


5239 / 76732 ←次へ | 前へ→

【77106】Re:階層構造のステータスの設定に関して
発言  β  - 15/5/22(金) 8:38 -

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

↑で悩んだことを取り入れてみて・・・
でも、そもそも、要件の理解が間違っている公算大で、自信度10%ぐらいですが・・・

Sub Test2()
  Dim i As Long
  Dim w As Variant
  Dim maxlvl As Long
  Dim oldlvl As Long
  Dim curlvl As Long
  Dim myExists As Boolean
  Dim myHold As Boolean
  Dim myNG As Boolean
  Dim x As Long
  
  maxlvl = WorksheetFunction.Max(Range("A2", Range("A" & Rows.Count).End(xlUp)))
  oldlvl = maxlvl + 1
  
  ReDim w(1 To maxlvl, 1 To 3)
  For x = 1 To maxlvl
    w(x, exists) = False
    w(x, hold) = False
    w(x, ng) = False
  Next
  
  For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
    curlvl = Cells(i, "A").Value

    If curlvl > oldlvl Then
      For x = curlvl To maxlvl
        w(x, exists) = False
        w(x, hold) = False
        w(x, ng) = False
      Next
    End If
    
    If IsEmpty(Cells(i, "C")) Then
      myExists = False
      myHold = False
      myNG = False
      If curlvl < maxlvl Then
        For x = curlvl + 1 To maxlvl
          If w(x, exists) Then myExists = True
          If w(x, hold) Then myHold = True
          If w(x, ng) Then myNG = True
        Next
      End If
      If myNG Then
        Cells(i, "C").Value = "NG"
      ElseIf myHold Or Not myExists Then
        Cells(i, "C").Value = "保留"
      Else
        Cells(i, "C").Value = "OK"
      End If
    End If
    
    w(curlvl, exists) = True
    If Cells(i, "C").Value = "保留" Then w(curlvl, hold) = True
    If Cells(i, "C").Value = "NG" Then w(curlvl, ng) = True
    
    oldlvl = curlvl
    
  Next
  
End Sub
245 hits

【77100】階層構造のステータスの設定に関して imori 15/5/21(木) 15:50 質問[未読]
【77101】Re:階層構造のステータスの設定に関して β 15/5/21(木) 18:58 発言[未読]
【77108】Re:階層構造のステータスの設定に関して imori 15/5/22(金) 10:33 回答[未読]
【77113】Re:階層構造のステータスの設定に関して β 15/5/22(金) 17:44 発言[未読]
【77142】Re:階層構造のステータスの設定に関して imori 15/5/23(土) 22:12 お礼[未読]
【77102】Re:階層構造のステータスの設定に関して β 15/5/21(木) 19:26 発言[未読]
【77104】Re:階層構造のステータスの設定に関して β 15/5/21(木) 22:50 発言[未読]
【77105】Re:階層構造のステータスの設定に関して β 15/5/22(金) 6:55 発言[未読]
【77106】Re:階層構造のステータスの設定に関して β 15/5/22(金) 8:38 発言[未読]
【77109】Re:階層構造のステータスの設定に関して ウッシ 15/5/22(金) 12:03 回答[未読]
【77143】Re:階層構造のステータスの設定に関して imori 15/5/23(土) 23:28 お礼[未読]

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