現在、行内で発生する色分けされたイベントでスケジュールを分析していますが、時間が列を超えて拡大しています(セルにテキストのみがあります。私のコントロール)。私は現在、別のワークシートにイベントの1つの発生の結果を印刷することができますが、別のセルの定期的なイベントの日付を印刷する方法を決定することはできません(現在のところ、イベントが発生した最後の時刻を印刷します)。現在のコードはループ内で定期的なイベントを出力する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( "シート1")どうやったのかを参照してください細胞(..)'。?他のすべての参考文献でもそれを行います。 'Range()'、 'Cells()'、 'Row()'などはシートを使わずに 'ActiveSheet'で動作するので、期待したデータを取得することはできません。 – BruceWayne