Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


7113 / 13644 ツリー ←次へ | 前へ→

【41094】曜日別で売り上げの管理をしたいのですが... わらびもち 06/7/29(土) 9:56 質問[未読]
【41099】Re:曜日別で売り上げの管理をしたいので... neptune 06/7/29(土) 14:31 発言[未読]
【41123】Re:曜日別で売り上げの管理をしたいので... わらびもち 06/7/31(月) 10:33 お礼[未読]
【41101】Re:曜日別で売り上げの管理をしたいのです... Kein 06/7/29(土) 16:51 回答[未読]

【41094】曜日別で売り上げの管理をしたいのですが...
質問  わらびもち E-MAIL  - 06/7/29(土) 9:56 -

引用なし
パスワード
   小生小さな商店を経営しています。
この度いよいよエクセルで収支の管理をすることになりました。
インターネット、ワードは一通り使えますがエクセルは初めてです。
七十の手習いで稚拙な質問かもしれませんがご容赦ください。

データ入力する項目は毎日の売り上げです。
それを後日、曜日別でグラフ化したいと考えています。
(例えば平成18年1月〜6月までの曜日別売り上げをグラフ化する)
もちろん月ごとの売り上げもグラフ化します。(これはなんとかできそうです)
この両方をデータ管理するためには、セルの項目をどのように設定すればよいでしょうか?

よろしくご教授願います。

【41099】Re:曜日別で売り上げの管理をしたいので...
発言  neptune  - 06/7/29(土) 14:31 -

引用なし
パスワード
   ▼わらびもち さん:
>小生小さな商店を経営しています。
>この度いよいよエクセルで収支の管理をすることになりました。
>インターネット、ワードは一通り使えますがエクセルは初めてです。
>七十の手習いで稚拙な質問かもしれませんがご容赦ください。
言いにくいのですが、この掲示板はVBAというプログラミング言語を使用して
いる際に生じる疑問などを質問する所です。(掲示板の性質上どうしても
VBAがらみでの回答になる可能性大です。)

下記のご質問は一般機能で出来ると思います。
ですから、一般機能を専門としている掲示板でお尋ねになることをお勧めします。
http://www.moug.net/index.htm
とかがいちばん有名ですね。
http://www.kenzo30.com/
などもあります。

>データ入力する項目は毎日の売り上げです。
>それを後日、曜日別でグラフ化したいと考えています。
>(例えば平成18年1月〜6月までの曜日別売り上げをグラフ化する)
>もちろん月ごとの売り上げもグラフ化します。(これはなんとかできそうです)
>この両方をデータ管理するためには、セルの項目をどのように設定すればよいでしょうか?
曜日、月の両方管理するにはVBA的には日付型というデータ型を使用します。
一般機能でも、日付型のデータにしておくと、month,weekday等の関数で
求めることが出来ます。

【41101】Re:曜日別で売り上げの管理をしたいので...
回答  Kein  - 06/7/29(土) 16:51 -

引用なし
パスワード
   VBAの掲示板であることを、承知の上で質問されているとして、いちおうサンプル
を提示しておきます。今年度用のブックを一気に作り上げてしまうマクロです。
任意のブックの標準モジュールに入れて、実行して下さい。
通常、エクセルブックを開くフォルダーに、作成したブックを保存します。

Sub Mk_SalesBook()
  Dim Snum As Integer, i As Integer, j As Integer
  Dim SvBook As String
  Dim WekAry As Variant
  Dim WB As Workbook
  Dim LsD As Date
 
  With Application
   Snum = .SheetsInNewWorkbook
   .SheetsInNewWorkbook = 13
   SvBook = .DefaultFilePath & "\" & _
   Year(Date) & "年度_売上.xls"
   .ScreenUpdating = False
  End With
  If Dir(SvBook) <> "" Then
   MsgBox "今年度のブックは作成済みです", 64
   GoTo ELine
  End If
  WekAry = Array("日", "月", "火", "水", "木", "金", "土")
  Set WB = Workbooks.Add
  For i = 1 To 12
   LsD = DateSerial(Year(Date), i + 1, 0)
   With WB.Worksheets(i)
     .Name = i & "月"
     .Range("A1:C1").Value = _
     Array(i & "月日付", "曜日", "売上")
     .Range("A2").Value = DateSerial(Year(Date), i, 1)
     .Range("A2").DataSeries xlColumns, xlChronological, _
     xlDay, 1, LsD
     With .Range("A2", .Range("A65536").End(xlUp))
      .NumberFormat = "dd"
      With .Offset(, 1)
        .Formula = "=TEXT($A2,""aaa"")"
        .Value = .Value
      End With
     End With
     With .Range("A65536").End(xlUp)
      .Offset(1).Value = i & "月合計"
      .Offset(1, 2).Formula = "=SUM($C$2:$C$" & .Row & ")"
     End With
     For j = 1 To 7
      .Cells(j, 27).Formula = _
      "=SUMIF($B:$B," & """" & WekAry(j - 1) & """" & ",$C:$C)"
     Next j
   End With
  Next i
  With WB.Worksheets(13)
   .Name = "曜日別集計"
   .Range("A1").Value = "曜日別集計"
   .Range("A2:A8").Value = WorksheetFunction.Transpose(WekAry)
   For j = 2 To 8
     .Cells(j, 2).Formula = "=SUM(1月:12月!$AA" & j - 1 & ")"
   Next j
  End With
  WB.Close True, SvBook: Set WB = Nothing
  MsgBox "今年度の集計ブックを作成しました", 64
ELine:
  With Application
   .SheetsInNewWorkbook = Snum
   .ScreenUpdating = True
  End With
End Sub

【41123】Re:曜日別で売り上げの管理をしたいので...
お礼  わらびもち E-MAIL  - 06/7/31(月) 10:33 -

引用なし
パスワード
   >この掲示板はVBAというプログラミング言語を使用して
いる際に生じる疑問などを質問する所です
>一般機能を専門としている掲示板でお尋ねになることをお勧めします。
>http://www.moug.net/index.htm
>とかがいちばん有名ですね。
>http://www.kenzo30.com/
>などもあります。

申し訳ございません。
VBAという概念すら理解できていませんでした。
上記サイトで勉強してみます。
回答をいただいたみなさま、ありがとうございました。

7113 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free