家でスクリプト作ってみました
Private Sub マクロ実行_Click()
Call test2
End Sub
Public Sub test1()
Dim MyStr As String
Dim i As Long
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
MyStr = Range("A" & i)
If MyStr <> "" Then
Range("B" & i) = "Hello" & MyStr & "!"
End If
Next i
End Sub
Public Sub test2()
Dim i As Long
Dim WrkRow As Long
Dim WrkCol As Long
Dim WrkRange As Variant
Dim tmp1 As String
Dim tmp2 As String
Dim ssk As Double
Dim hanb As Double
Dim sire As Double
Dim j As Long
Dim startDay As Long
With Sheets("Sheet2") ' シート名
WrkRow = .Cells(Rows.Count, 1).End(xlUp).Row
WrkCol = .Cells(1, Columns.Count).End(xlToLeft).Column
WrkRange = .Range("A1").Resize(WrkRow, WrkCol)
End With
j = 0
Sheets("Sheet4").Activate
ssk = 0
hanb = 0
sire = 0
Dim startCol As Long
startCol = 2
For i = startCol To WrkRow - 1 'MAX
tmp1 = WrkRange(i, 1)
tmp2 = WrkRange(i + 1, 1)
If i = startCol Then
' 初回
' Worksheets("Sheet4").Range("E1") = tmp1
j = 2
End If
hanb = CDbl(Worksheets("Sheet4").Range("C" & i))
'hanb = CDbl(Replace(Worksheets("Sheet4").Range("C" & i), "", "0"))
sire = CDbl(Worksheets("Sheet4").Range("D" & i))
ssk = ssk + hanb - sire
' DEBUG START
Worksheets("Sheet4").Range("F" & i) = ssk
' DEBUG END
startDay = 20100101
If ssk < 0 Then
' 背景色を赤色にする
Worksheets("Sheet4").Range("A" & i & ":E" & i).Select
With Selection.Interior
.ColorIndex = 3 ' 48 灰
.Pattern = xlSolid
End With
ssk = 0
End If
If CLng(Worksheets("Sheet4").Range("B" & i)) < CLng(Worksheets("Sheet4").Range("E" & i)) + startDay Then
' 背景色を灰色にする
Worksheets("Sheet4").Range("A" & i & ":E" & i).Select
With Selection.Interior
.ColorIndex = 48
.Pattern = xlSolid
End With
End If
If tmp1 <> tmp2 Then
'Worksheets("Sheet4").Range("E" & j) = tmp2
'j = j + 1
ssk = 0
End If
If tmp2 = "" Then
' 空白になった時点でブレイク
i = WrkRow
End If
Next i
End Sub