No.3ベストアンサー
- 回答日時:
#1です。
別解を上げます。ソートを利用しません。素のシートデータもそのままです。順序もどのように
出現してもOKです。A列は日付シリアル値であること。
文字列日付だと少し変える必要あり。
インデックス法とでも言いましょうか。
#1よりコードが短いです。
データのない月の行が空白になりますが。
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet1")
Set sh2 = Worksheets("sheet2")
'---------Sheet1の行数察知
d = sh1.Range("A1").CurrentRegion.Rows.Count
'------sheet2のA列をクリア
For i = 1 To 30
sh2.Cells(i, "A") = ""
Next i
'----最下d行まで、所定の行を年月から割だし
For i = 1 To d
yi = Year(sh1.Cells(i, "A"))
mi = Month(sh1.Cells(i, "A"))
x = (yi - 2004) * 12 + mi
'----Sheet2の割出した行にSheet1の計数加算
If sh2.Cells(x, "A") = "" Then
sh2.Cells(x, "A") = yi & "年" & mi & "月"
sh2.Cells(x, "B") = 0
End If
sh2.Cells(x, "B") = sh2.Cells(x, "B") + sh1.Cells(i, "B")
Next i
End Sub
No.2
- 回答日時:
A1にタイトル「日付」、B1にタイトル「金額」のある下記のようなデータとして、表示に拘らないならVBAを使わなくてもピボットテーブルとグループ化で求めたいものは出ると思います。
日付 金額
2004/1/1 1000
2004/1/2 2000
2004/2/1 1500
2004/2/2 2000
2004/3/1 2500
2004/3/2 1000
マクロ化するとこんな感じかな?
試すならテスト環境で。
Sub Test()
Dim myPivot As PivotTable
ActiveSheet.Range("A1").Activate
Set myPivot = ActiveSheet.PivotTableWizard(SourceType:=xlDatabase, _
SourceData:=ActiveSheet.Range("A1").CurrentRegion)
myPivot.AddFields RowFields:="日付"
myPivot.PivotFields("金額").Orientation = xlDataField
myPivot.PivotSelect "日付[すべて]", xlLabelOnly
Selection.Group
ActiveCell.Select
End Sub
No.1
- 回答日時:
朝時間がないので、とりあえずSheet1上でソートしてしまってますが、素シートデータをそのままにしたいなら、別シートにコピーするステップを入れてください。
ソート利用法という解法タイプです。
Sub test01()
Dim sh1 As Worksheet
Dim sh2 As Worksheet
Set sh1 = Worksheets("sheet1")
Set sh2 = Worksheets("sheet2")
Selection.Sort Key1:=sh1.Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin
d = sh1.Range("A1").CurrentRegion.Rows.Count
' MsgBox d
t = sh1.Cells(1, "B")
ym = Year(sh1.Cells(1, "A"))
mm = Month(sh1.Cells(1, "A"))
j = 1
For i = 2 To d
yi = Year(sh1.Cells(i, "A"))
mi = Month(sh1.Cells(i, "A"))
ymm = ym & mm
'----
If ymm = yi & mi Then
t = t + sh1.Cells(i, "B")
Else
sh2.Cells(j, "A") = ym & "年" & mm & "月"
sh2.Cells(j, "B") = t
t = 0
j = j + 1
'------
t = t + sh1.Cells(i, "B")
ym = yi
mm = mi
End If
Next i
sh2.Cells(j, "A") = ym & "年" & mm & "月"
sh2.Cells(j, "B") = t
End Sub
(素データ)Sheet1のA1:B14のソート後。
2004/1/23 1
2004/1/24 2
2004/2/25 3
2004/2/26 4
2004/3/27 5
2004/3/28 6
2004/4/29 7
2004/4/30 8
2004/5/110
2004/5/211
2004/5/312
2004/5/3 19
2004/6/413
2004/6/514
(結果)Sheet2のA1:B6
2004年1月3
2004年2月7
2004年3月11
2004年4月15
2004年5月42
2004年6月27
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 列を自動で追加したい 3 2022/07/11 12:58
- Excel(エクセル) エクセルで最初に値が入っているセルを見つける方法はありますか? 2 2023/07/18 14:58
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Excel(エクセル) SUBTOTAL SUMIF?? 2 2023/03/16 11:25
- 数学 複利毎月積み立てで年利からの計算方法 3 2023/01/11 15:56
- Visual Basic(VBA) 2つの条件に合うセルにデータを転記したい 4 2022/12/02 11:05
- その他(ビジネススキル・経営ノウハウ) 貸付金 利息、無利息 回答お願いします。 会社経営者です。 例えば、 従業員に40万貸付 返済期間 7 2023/01/22 09:32
- 簿記検定・漢字検定・秘書検定 満期保有目的債券の償却原価法の計算について(簿記2級) 1 2022/06/18 15:40
- Excel(エクセル) Googleスプレッドシートを使って、別シートに それぞれの合計を出したい。 1 2022/04/25 14:07
- 確定申告 個人の確定申告。「医療費のお知らせ」記載内容と医療費控除の明細書【内訳書】に記入する内容の関係 4 2023/03/04 18:41
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの表で1年間の曜日を...
-
エクセルでの特別な文字を上に...
-
Microsoft Officeの中古は信用...
-
エクセルで会社の従業員のデー...
-
Excelで50個のセルに同じ文字を...
-
スプレッドシートで使う数式を...
-
エクセルでセルに標準で入力さ...
-
エクセルでB列でフィルターをか...
-
UNIQUE関数が使えないバージョ...
-
EXCELの質問です 119から足した...
-
libre 表計算ソフトの計算がう...
-
【マクロ】VLOOKUPにて参照元に...
-
お世話になります。 Excelを使...
-
【マクロ】 IFERROR関数をマク...
-
Excelで、項目の種類ごとにカウ...
-
エクセル日付 文字列の関数がエ...
-
【マクロ】セルに関数を入れる...
-
exselで最小数で並び替える関数
-
エクセルの空欄をつめて、次の...
-
Excel分析ツールでのポアソン回...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel で行を指定回数だけコピ...
-
エクセルVBA 別シートの複数の...
-
excelの差込印刷で可視セルだけ...
-
Excel VBA インデックスの境...
-
シャープのアクオス sh-m25 を...
-
VBA:同じ文字列データの比...
-
エクセル:VBAで月変わりで、自...
-
VBA別シートの最終行の下行へ貼...
-
エクセルVBAで 2種のリストを...
-
エクセルVBAで SendKeys "{TAB}"
-
VBAで条件が一致する行のデータ...
-
Excel VBAでシート内全体に非表...
-
歯抜けの時間を埋めて行の挿入
-
Excelマクロ データが上書きさ...
-
VBA 貼付先範囲(行)がいっぱ...
-
【WORD差し込み印刷】複数レコ...
-
EXCELマクロで全シート対...
-
エクセルVBAでの日付順のデ...
-
エクセル シート保護後コメン...
-
ノートパソコン 2in1について i...
おすすめ情報