• 締切済み

Ecel マクロでsubtotal関数を使ったとき

データ>集計、で行った集計を記録マクロで記録したとこと下記のようになりました。 Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2), _ Replace:=True, PageBreaks:=False, SummaryBelowData:=True 1列目は日付が8桁で「yyyy/mm/dd」の形式で表示されています。 データ>集計、で行うと実行後に表示される小計の日付は「yyyy/mm/dd 計」と表示されますが、この記録したマクロを実行すると「mm/dd/yyyy 計」となってしまいます。 Excel2000、2002とも同じ結果になってしまいます。 OSはwindows2000です。 どうしてこうなってしまうのか、ご存知の方いらっしゃいましたら教えて下さい。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

(1)データ-集計は、セルの「中身主義」(日付けの場合は日付けシリアル値)でなく、表示形式を含めた見た目主義で 処理が行われるようです。 11/01/2002、11/01/2002、11/01/2002、11/02/2002、 11/02/2002、2002/11/2、11/02/2002、11/02/2002 で行うと2002/11/2のところで途切れました。 表示形式をそろえて、集計を実行すると、普通に直りました。 (2)表示形式を列全体を変えて集計すると、 XXX計のXXXの表示形式も基データの表示形式に合わせて変ります。 (3)もとのセルに1個所とか表示形式が違うセルは ありませんでしょうか。 (4)一度キー列(グループの基準列)の表示形式を 全行揃えて集計しても、ご質問のようになるでしょうか。 (5)キー列がA列として、Range("a1:a10").NumberFormatLocal = "yyyy/mm/dd"とかを入れて統一するとさしあたり 回避できますが。

kielle_goo
質問者

お礼

ご回答ありがとうございました。 (3)の表示形式ですが全てそろえております。2行だけで試してもダメでした。 (5)でおっしゃっているようにFormatをかけるしかないようですね。

関連するQ&A