|
▼Kein さん:
Kein さん、こんにちは。
レス、(ありがとうございます)3 <- 階乗のつもり
.....
>>シート名に明日の日付を付けて準備完了
>という現在の作業形態を "止めて"
.....
>という処理形態に移行したい、ということなんですね ?
>なんか殆ど仕事の依頼みたいだけど、まぁいいです
..
本当に申し訳ありません。m(_ _)m
しかし、初心者ながら丸投げなんてする気は毛頭なかったんですよ
(本当に)、でも結果的にそんな風になっちゃいましたよねー
改めて、申し訳ありません。m(_ _)m
まずは、お礼の一報と思って書きました。
>それなら当月一ヶ月分の、新しいブックを作成するマクロを提示しましょう。
でですね、下記マクロの件ですけど、まずは実際に動かして見ます。
(何せ、初心者なもんですから)
また申し訳ないんですが、簡単な流れを説明して頂けると助かります。(^^;)
>推測するに、月単位にブックを作っていくのでなく、一つのブックを使いまわし
>たいみたいな感じですね・・。それならそれで、また別のコードを考えてみます
>から説明して下さい。
最終的には月単位で纏めるのですが、実は、ちょっと事情があって(情けない)...
と言うのは、今回の倉庫(外部)にあるPCが古いのと、外部の為、日々のデータの受け渡しがFDなんですよ、で、収まるのがせいぜい2〜3日分ってとこだと思います。
で、日々毎朝その日分を作っていきながら回す運用を考えていました。
>Sub ThisMonth_Make_NewBook()
> Dim MkFile As String
> Dim Ans As Integer, Scnt As Integer, NewS As Integer
> Dim SDay As Date
> Dim WS As Worksheet
>
> MkFile = Application.DefaultFilePath & _
> "\" & Month(Date) & "月.xls"
> If Dir(MkFile) <> "" Then
> Ans = MsgBox("今月のブックは既に存在します" & vbLf & _
> "削除して新規にブックを作成しますか", 36)
> If Ans = 7 Then Exit Sub
> End If
> NewS = Day(DateSerial(Year(Date), Month(Date) + 1, 1) - 1)
> SDay = DateSerial(Year(Date), Month(Date), 1)
> With Application
> Scnt = .SheetsInNewWorkbook
> .SheetsInNewWorkbook = NewS
> .ScreenUpdating = False
> End With
> Workbooks.Add
> With ActiveWorkbook
> For Each WS In .Worksheets
> WS.Name = CStr(Format(SDay, "m月d日"))
> SDay = SDay + 1
> Next
> ThisWorkbook.Sheets("Mytemplate").Copy Before:=.Worksheets(1)
> .Sheets.FillAcrossSheets .Sheets("Mytemplate").UsedRange
> .Sheets("Mytemplate").Visible = False
> .SaveAs Application.DefaultFilePath & "\" & Month(Date) & "月.xls"
> .Close
> End With
> With Application
> .ScreenUpdating = True
> .SheetsInNewWorkbook = Scnt
> End With
>End Sub
>あと、最初の質問の「合計を最終入力行の下に入れる」という処理に関しては、
>原紙となる未記入シートに、データの入力可能な範囲を充分にとって雛型の表を
>作り、その表の最終行に予め数式を入れておけば良いでしょう。そうすると、
>どのシートも一定の行に数式がある形になるから、最後に当月の集計をするにも
>3D参照(串刺し計算)の数式とか、統合機能などが使えて便利なのです。
>よく検討してみてください。
最終的には、月での集計もあるんですよねー...
でも、入庫量が日々まちまちで、多い日は数千ケース、少ない日は数十ケースてな感じなんで、雛形が大きな表になってしまい、まして、日々、シートを印刷までしているので、ここも頭が痛いんです。
でも、1歩づつ進めようと思っています、本当に勝手ばかり言いますが、また知恵をお貸し下さい、よろしくお願いします。m(_ _)m
|
|