簡體   English   中英

使用If / then語句在For / Next循環中調整值

[英]Adjusting a value in a For/Next loop with an If/then statement

因此,我有一系列復雜的,與用戶表單相關聯的子控件。 該代碼基本上對照今天存儲在表中的日期值,將T / F答案存儲在另一個表中,並且一旦每行滿足Trues標准,就將日期移動到另一個表中進行查看。 正是這個第三張表引起了問題。 我希望新表在此處連續列出所有內容,但是,我似乎可以做的就是將其復制到另一張紙上的同一單元格中。

Set ToDoRange = Sheets("ToDo").Range("A2")
 ToDoRow = 2
For i = 2 To LastRow 'Search each column in each row before moving to the next row

For Each ColVar In [PM].Columns

···
···
···

Set WorkReady = Sheets("DateList").Cells(i, j)


If LocChk2.Value = True And TFRange.Value = True And j > ColLoc Then

     With Sheets("DateList").Rows(i)
         .Interior.Color = 8257297
         .Copy
     End With
    Sheets("ToDo").Cells(ToDoRow, j) = WorkReady.Value
       With ToDoRange
        .Borders(xlEdgeBottom).Weight = xlMedium
       End With
 ElseIf LocChk2.Value = False Or TFRange.Value = False Or j <= ColLoc Then
          WorkReady.Interior.Color = 255
          With Sheets("ToDo").Cells(ToDoRow, j)
                .Clear
                .Borders(xlEdgeBottom).Weight = xlMedium
                .Interior.Color = 16755623
          End With
          If j < ColNumber Then
          Sheets("ToDo").Cells(ToDoRow, j).Borders(xlEdgeBottom).Weight = xlNone
          End If


    End If

Next

'If Len(Sheets("ToDo").Cells(ToDoRow, ColLoc).Value) <> 0 Then

ToDoRow = ToDoRow + 1
Set ToDoRange = ToDoRange.Offset(1, 0) 
'End If
Next

啟用底部的If / Then語句后,似乎隨機選擇了滿足該條件的值。 如果我將其在兩個“ for”之間而不是“ next”之間移動,則它會偏移所有值,更像是階梯而不是行。 有什么建議么?

更新:如果我對表格進行排序,以便所有內容一起列出,則下次運行該子程序時,它會使Excel崩潰。

因此它一次崩潰了,我仍然不知道為什么這么做,但是在代碼末尾自動排序似乎已經解決了我所有的問題。

Sheets("ToDo").ListObjects("Table1").Sort.SortFields.Add _
        Key:=Range("Table1[[#All],[Number]]"), SortOn:=xlSortOnValues, Order:= _
        xlAscending, DataOption:=xlSortNormal
With Sheets("ToDo").ListObjects("Table1").Sort
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With

這是一個簡單的解決方案,在想起您可以對表格進行排序之前,我花了比我要承認的時間更長的時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM