0
「総計」のテキスト値の下に行を挿入する必要があります。すべてのアクティブなワークシートをループするコードが必要です。それは列Aを調べるだけです。私はVBAの初心者ですので、コードが簡単になります。特定のテキスト値の下に行を挿入するVBAコード
「総計」のテキスト値の下に行を挿入する必要があります。すべてのアクティブなワークシートをループするコードが必要です。それは列Aを調べるだけです。私はVBAの初心者ですので、コードが簡単になります。特定のテキスト値の下に行を挿入するVBAコード
次のコードは、あなたが必要なものを行う必要があります。
Sub InsertLineAfterGrandTotal()
Dim WS As Integer
Dim LastLine As Long
Dim LookingArea As Range
Dim FoundCell As Range
For WS = 1 To Application.Sheets.Count
Sheets(WS).Activate
On Error Resume Next ' To avoid error when all cells are empty
LastLine = Sheets(WS).Cells.Find("*", LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Row
Set LookingArea = Sheets(WS).Range(Cells(1, 1), Cells(LastLine, 1))
Set FoundCell = LookingArea.Find("Grand Total", LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByColumns)
If FoundCell Is Nothing Then
MsgBox "Grand Total not found in sheet " & Sheets(WS).Name & _
". Press Ok to continue", vbExclamation + vbOKOnly, "Not found"
Else
FoundCell.Offset(1, 0).EntireRow.Insert
End If
Next WS
End Sub
説明する:
1)For
それは、ブック内のすべてのワークシート全体で行く作るループ。
2)LastLine
は、名前が示すように、アクティブなワークシートの最後の行を取得します。
3)LookingArea
は、文字列Grand Total
が検索される範囲です。
4)FoundCell
は、Grand Total
が見つかったセルを指します。見つからない場合は、新しい行がその上に挿入されていることがわかると、メッセージボックスが表示されます。
シート内のすべてのセルが空の場合、実行時エラー91が返されます。これを避けるには、LastLineで始まる 'On Error Resume Next'節を挿入することができます。 – Tehscript
コードが更新されました:) – PedroMVM