0
スプレッドシートの罫線を作成しようとしていて、2つの値の比較を行っています。これを行うには、範囲内の行をインクリメントする必要がありますが、使用している式は増分しません。VBA 2010増分範囲の行数が増えない
あなたが代わりにこれを使用することができ、それが動作しますSet ws = Sheets(strSheetName)
lRow = ws.Cells(Rows.Count, 1).End(xlUp).Row
Stop
'Create borders
For Each c In Range("A1:A" & lRow)
If Trim(c.Value) = PracticeName Then First = "A" & c.Row
If Trim(c.Value) = "SubTotal" Then SubTotal = "B" & c.Row
If Trim(c.Value) = "" Then
Set Rng = Sheets(strSheetName).Range(First & ":" & SubTotal)
Call SetRangeBorder(Rng)
End If
If Trim(c.Value) = PracticeName Then FirstDataRow = "B" & c.Row + 2
If Trim(c.Value) = "IDX" Then LastDataRow = "B" & c.Row
Stop
If LastDataRow <> "" And SubTotal <> "" Then
If Trim(c.Value) = "SubTotal" Then Range(SubTotal).Formula = "=SUM("
& FirstDataRow & ":" & LastDataRow & ")"
'Check if Values are equal
Stop
compare1 = Range(SubTotal)
FinalRow = "B" & c.Row + 1
compare2 = Range(FinalRow)
'If equal set color to green
If compare1 = compare2 Then Range(FinalRow).Interior.ColorIndex = 4
'If not equal set color to red
If compare1 <> compare2 Then Range(FinalRow).Interior.ColorIndex = 3
Range("A" & c.Row) = Range("A" & c.Row).Offset(3, 0)
Stop
End If
Next
また、Range( "A1:A"&lRow) 'の前にワークシートを追加して、正しいものを実行していることを確認してください... ws.Range(" A1:A "&lRow)'? – BruceWayne
'c'(データ型)はどのように宣言しましたか? – danieltakeshi