Davidは、小計([アウトライン]グループのリボンの[データ]タブ)を大きなワークシートに追加し、小計セルを別のセルに移動する方法を探していました。たとえば、Excelが自動小計を追加したときに、それらが列Sに追加され、Excelによって追加されたSUBTOTAL数式が、列Sのセルの範囲を参照したとします。Davidは、SUBTOTAL数式(およびそれらの数式のみ)をから移動したいと考えていました。列Sから列Tまで、数式は列Sの詳細を参照します。

1つのオプションは、SUBTOTAL数式を一度に1つずつ調べて、目的の場所に移動することです。 (Ctrl + CとCtrl + Vを使用してセルのコピーを作成するのではなく、Ctrl + XとCtrl + Vを使用してセルを移動します。)ワークシートが大きく、小計が多い場合、これは非常に面倒になる可能性があります。早く。

ExcelのTediumは、多くの場合、マクロを作成するための主要な推進力です。この場合も例外ではありません。 SUBTOTAL数式の実際の移動を行うマクロを作成することができます。次の例を考えてみましょう:

Sub MoveSubtotals()

Dim rCell As Range     Dim rng As Range     Dim iCol As Integer     Dim iOffset As Integer

iCol = 19  '19 is Column S     iOffset = 1 'Positives go right, negatives go left     Set rng = Intersect(Selection.CurrentRegion, Columns(iCol))

For Each rCell In rng         If InStr(rCell.Formula, "SUBTOTAL") Then             rCell.Offset(0, iOffset).Formula = _                 rCell.Formula             rCell.ClearContents         End If     Next End Sub

この例は、列Sで選択された各セルを調べることで機能します。セル内の数式にSUBTOTALという単語が含まれている場合、数式は列Tの右側の1列にコピーされ、列Sのセルから削除されます。変更できます。 iOffset変数に割り当てられた値を変更するだけで、小計が移動する左または右の距離。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(8643)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。