Excel - 列と合計の値でグループ化するマクロ

Microsoft Office Softwareは、グラフィックテーブル、計算、マクロプログラミング言語、VBA(Visual Basic for Applications)およびピボットテーブルを特徴とするスプレッドシートアプリケーションであるMicrosoft Excelを含む。 ピボットテーブルはデータの一覧表示に使用されます。 特定の結果を得るためにそのデータを認識して要約します。 マクロは、Excel Office Softwareで長いデータや繰り返しの多いタスクを高速にするためのコマンドまたはアクションのリストを表します。 タスクを実行する必要があるときはいつでもこれを実行できます。 値を取り、必要な操作を実行し、それに応じて値を返します。 列と合計の値でグループ化するマクロを作成したい場合は、関連するコマンドを使用してマクロを起動してください。

問題

次の例のマクロを書く必要があります。

 品目数量長さA 1 100 A 1 100 B 2 200 B 1 100 B 5 100 C 4 200 C 2 100 C 1 200 C 3 100 

基本的に、私は列A(つまりアイテム)と列C(つまり長さ)でグループ化し、アイテムごとに長さの変化の合計を加えたいと思います。 この場合、新しいシートの結果は以下のようになります。

 商品の長さA 2 100 B 2 200 B 6 100 C 5 200 C 5 100 

これが理にかなっていることを願っています。

誰かが私がこれのためにExcelマクロを書くのを手伝ってくれる?

溶液

これを試して

仮定:

  • 1.マクロを起動すると、データのコピー元のシートがアクティブシートになります。
  • 2.列Aの空のセルはデータの終わりを示します
  • 3.シート3に貼り付けます(そうでない場合はマクロで修正します)。

 SubsolateateData()縦方向の長さ1行、横方向のItemRow 2、横方向の長さRow 1、縦幅2として選択します。選択範囲を選択します。コピーシート( "Sheet3")選択範囲( "A1")アクティブシートを選択します。セルを貼り付けます。Selection.Sortを選択します。ソート_キー1:=範囲( "A2")、注文1:= xlAscending、_キー2:=範囲( "C2")、注文2:= xlDescending、_ヘッダー:= xlはい、注文カスタム:= 1 、_ MatchCase:= False、Orientation:= xlTopToBottom、_ DataOption1:= xlSortNormal lRow = 2やりながら(Cells(lRow、1) "")ItemRow1 = Cells(lRow、 "A")ItemRow2 = Cells(lRow + 1、) "(A")lengthRow1 =セル(lRow、 "C")lengthRow2 =セル(lRow + 1、 "C")If((ItemRow1 = ItemRow2)And(lengthRow1 = lengthRow2))そしてCells(lRow、 "B")=セル(lRow、 "B")+セル(lRow + 1、 "B")行(lRow + 1)。その他lRow = lRow + 1ループ終了の場合は終了Sub 

注意

フォーラムでこのヒントを寄せてくれたrizvisa1に感謝します。

前の記事 次の記事

トップのヒント