我目前正在分析一個顏色編碼的事件發生在一行中的時間表,並且時間在列上擴展(在單元格中只有顏色沒有文本,是的,它是愚蠢的,但它沒有我的控制)。我目前能夠將一次事件的結果打印到另一張工作表中,但我無法確定如何使其打印出不同單元格中的重複事件的日期(它目前僅打印上次發生事件的時間)。我目前的代碼是:輸出一個循環內的循環事件VBA
For i = 2 To 93
If Cells(7, i).Interior.Color = "8421631" And Cells(7, i - 1).Interior.Color = "16777215" Then
startDay = Cells(3, i).Value
startMonth = Cells(1, i).Value
name = Cells(7, i).Value
Worksheets("Sheet1").Activate
ActiveWorkbook.Worksheets("Sheet1").Cells(2, 1) = startDay + startMonth
End If
If Cells(7, i).Interior.Color = "8421631" And Cells(7, i + 1).Interior.Color = "16777215" Then
endDay = Cells(3, i).Value
endMonth = Cells(1, i).Value
ActiveWorkbook.Worksheets("Sheet1").Cells(2, 2) = endDay + endMonth
End If
Next i
我所有的變量都以字符串形式輸入。我嘗試了幾種不同的方法,但都沒有成功。我覺得我需要在IF語句中添加另一個循環,但我不確定如何做到最好。 整體代碼達到了它的目的(以前用於輸出的消息框確認它是按照它應該運行的)。這只是整個代碼的一小部分,但有了這個答案,我可以在其他地方應用它。
看你怎麼做了'ActiveWorkbook.Worksheets( 「工作表Sheet1」)細胞(..)'?對所有其他參考也這樣做。它可能不會抓取你期望的數據,因爲沒有使用表格,Range(),Cells(),Row()等等在'ActiveSheet'上工作。 – BruceWayne