0
私は行を通過して重複をチェックするこのコードを持っています。重複がある場合は、行を非表示にする必要があります。しかし、それはそれを隠すことはありません。Excel vbaは行を非表示にできません
Function sumAll()
Dim firstRow As Long
firstRow = 5
Dim lastRow As Long
lastRow = 1424
Dim aRow As Long
Dim totalDoubles As Long
totalDoubles = 0
Dim sumResult As Double
sumResult = 0
Dim previousValue As String
previousValue = -1
For aRow = firstRow To lastRow
If Cells(aRow, 1).Value <> previousValue Then
sumResult = sumResult + Cells(aRow, 2)
previousValue = Cells(aRow, 1)
Cells(aRow, 1).EntireRow.Hidden = True
Else
totalDoubles = totalDoubles + 1
End If
Next aRow
sumAll = sumResult
MsgBox ("end: " & totalDoubles)
End Function
私もSheets("Sheet name").Rows("5:5").EntireRow.Hidden=True
を試みたが、それは同様に何の影響も与えませんでした。
Rows(aRow).Hidden = True
注:@Rik Sportelが述べたように、あなたが任意の値またはオブジェクトを返すされていないとして、これはFunction
であるためには理由がありません
'サブsumAll(として全体のことを宣言します)' ... 'Sub'を終了します。関数はパラメータをとり、戻り値を返すものです。あなたがやっていることは、サブが必要です。関数の実行中は、ワークシート/ワークブックを変更することはできません。 –