前回、mike32様にVBAを教えていただいて作成したのですが
どうしてもできないことがあって投稿させていただきました。
下記はmike32様に教えて頂いたVBAを実際に使用する内容に変更したものです。
ブックシート1に【作付調査Data】シート2に【元帳Tamplate】
内容は作付調査Dataを氏名別に元帳Tamplateへ転記するものです。
元帳はA4サイズで印刷するため1ページあたり作付Data11レコード分しか表示できません。
個人のDataが11レコード以内であれば問題ないのですが以上になった場合次ページが必要になります。
元帳は1~7行まではヘッダーとして利用。8行~29行までがDataの内容を転記するイメージです。1~29行を1ページとしています。以降2ページ=30行~59行を繰り返すイメージです。
次ページは1~7行目までは同一人物であればヘッダー的な標記になるためそのまま次ページへ1~7行目を転記し8行目から12レコード以降のデータを転記していく事にしたいのですがなかなかできません。どなたか教えてもらえませんでしょうか。宜しくお願い致します。
Option Explicit
Dim shData As Worksheet
Dim shTemp As Worksheet
Dim dataRow As Long
Dim tempRow As Long
'一人当たりの最大行数
Const MAX_ROW = 100
Sub sbTest()
Dim sNo As String
Dim iKei As Long
Dim iCnt As Long
Set shData = Worksheets("作付調査Data")
Set shTemp = Worksheets("元帳Template")
dataRow = 2 'データシートの開始行
tempRow = 1 'テンプレートシートの開始行
'氏名NOを取得
sNo = shData.Cells(dataRow, 1)
'氏名NOがNULLになるまでループ
Do Until sNo = ""
'ヘッダーの設定 ヘッダー=6
Call sbHeader
iCnt = 6
'氏名NOが変わるまでループ
Do Until shData.Cells(dataRow, 1) <> sNo
With shData
iKei = 0
tempRow = tempRow + 1
'品種Code
shTemp.Cells(tempRow, 1) = .Cells(dataRow, 6)
tempRow = tempRow + 1
'品種名
shTemp.Cells(tempRow, 1) = .Cells(dataRow, 7)
'7月-1
shTemp.Cells(tempRow, 6) = fnTsuki(.Cells(dataRow, 8), iKei)
'7月-2
shTemp.Cells(tempRow, 7) = fnTsuki(.Cells(dataRow, 9), iKei)
'7月-3
shTemp.Cells(tempRow, 8) = fnTsuki(.Cells(dataRow, 10), iKei)
'8月-1
shTemp.Cells(tempRow, 9) = fnTsuki(.Cells(dataRow, 11), iKei)
'8月-2
shTemp.Cells(tempRow, 10) = fnTsuki(.Cells(dataRow, 12), iKei)
'8月-3
shTemp.Cells(tempRow, 11) = fnTsuki(.Cells(dataRow, 13), iKei)
'9月-1
shTemp.Cells(tempRow, 12) = fnTsuki(.Cells(dataRow, 14), iKei)
'9月-2
shTemp.Cells(tempRow, 13) = fnTsuki(.Cells(dataRow, 15), iKei)
'9月-3
shTemp.Cells(tempRow, 14) = fnTsuki(.Cells(dataRow, 16), iKei)
※文字数オーバーの為省略
'5月-1
shTemp.Cells(tempRow, 36) = fnTsuki(.Cells(dataRow, 38), iKei)
'5月-2
shTemp.Cells(tempRow, 37) = fnTsuki(.Cells(dataRow, 39), iKei)
'5月-3
shTemp.Cells(tempRow, 38) = fnTsuki(.Cells(dataRow, 40), iKei)
'6月-1
shTemp.Cells(tempRow, 39) = fnTsuki(.Cells(dataRow, 41), iKei)
'6月-2
shTemp.Cells(tempRow, 40) = fnTsuki(.Cells(dataRow, 42), iKei)
'6月-3
shTemp.Cells(tempRow, 41) = fnTsuki(.Cells(dataRow, 43), iKei)
End With
'計
shTemp.Cells(tempRow, 5) = iKei
tempRow = tempRow
iCnt = iCnt + 2
'次の行へ
dataRow = dataRow + 1
Loop
'一人当たりの最大行数まで
If iCnt < MAX_ROW Then
tempRow = tempRow + (MAX_ROW - iCnt)
End If
'氏名NOをセット
sNo = shData.Cells(dataRow, 1)
Loop
MsgBox "終了"
End Sub
Private Sub sbHeader()
'年度
shTemp.Cells(tempRow, 1) = shData.Cells(dataRow, 4)
'調査日
With shTemp.Cells(tempRow, 14)
.Value = shData.Cells(dataRow, 5)
.NumberFormatLocal = "m/d"
End With
tempRow = tempRow + 2
'生産者NO
shTemp.Cells(tempRow, 4) = shData.Cells(dataRow, 1)
'氏名
shTemp.Cells(tempRow, 6) = shData.Cells(dataRow, 2)
'支部
shTemp.Cells(tempRow, 13) = shData.Cells(dataRow, 3)
tempRow = tempRow + 3
'固定行(A)
shTemp.Cells(tempRow, 1) = "品種作型名"
shTemp.Cells(tempRow, 5) = "計"
shTemp.Cells(tempRow, 6) = "7月"
shTemp.Cells(tempRow, 9) = "8月"
※文字数オーバーの為省略
shTemp.Cells(tempRow, 36) = "5月"
shTemp.Cells(tempRow, 39) = "6月"
tempRow = tempRow + 1
'固定行(B)
shTemp.Cells(tempRow, 6) = "上"
shTemp.Cells(tempRow, 7) = "中"
shTemp.Cells(tempRow, 8) = "下"
shTemp.Cells(tempRow, 9) = "上"
shTemp.Cells(tempRow, 10) = "中"
shTemp.Cells(tempRow, 11) = "下"
shTemp.Cells(tempRow, 12) = "上"
※文字数オーバーの為省略
shTemp.Cells(tempRow, 39) = "上"
shTemp.Cells(tempRow, 40) = "中"
shTemp.Cells(tempRow, 41) = "下"
End Sub
'各月の数量がゼロのときは空欄にする
Function fnTsuki(kazu As Long, iKei As Long) As Variant
If kazu = 0 Then
fnTsuki = ""
Else
iKei = iKei + kazu
fnTsuki = kazu
End If
End Function
No.14ベストアンサー
- 回答日時:
文字数オーバーになりました。
こちらは後半部です。--------------------------------------------------------------------------------
'↓↓↓↓↓タイトル行処理↓↓↓↓↓
If Boo_タイトル Then
Lng_先行 = (Lng_仮想頁 - 1) * 29 + 1
'書式コピー
Range(Cells(Lng_先行, 1), Cells(Lng_先行, 41)).Delete Shift:=xlToLeft
Sheets(Str_基本シート).Rows("1:29").Copy
Cells(Lng_先行, 1).Select
ActiveSheet.Paste
'年度
Cells(Lng_先行, 1).Value = .Cells(Lng_元行, 4).Value
'調査日
Cells(Lng_先行, 16).Value = .Cells(Lng_元行, 5).Value
'個人頁
Cells(Lng_先行, 20).Value = "No." & .Cells(Lng_元行, 1).Value & "-" & Lng_個人頁
Lng_先行 = Lng_先行 + 2
'生産者No
Cells(Lng_先行, 4).Value = .Cells(Lng_元行, 1).Value
'氏名
Cells(Lng_先行, 6).Value = .Cells(Lng_元行, 2).Value
'支部
Cells(Lng_先行, 13).Value = .Cells(Lng_元行, 3).Value
Lng_先行 = Lng_先行 + 5
'固定行
Boo_タイトル = False
End If
'↑↑↑↑↑タイトル行処理↑↑↑↑↑
'↓↓↓↓↓データ処理↓↓↓↓↓
'品種Code
Cells(Lng_先行, 1).Value = .Cells(Lng_元行, 6).Value
Lng_先行 = Lng_先行 + 1
'品種名
Cells(Lng_先行, 1).Value = .Cells(Lng_元行, 7).Value
'月
Lng_合計 = 0
Lng_先列 = 6
For Lng_元列 = 8 To 49
'各月の数量が空欄でない時に処理する
If .Cells(Lng_元行, Lng_元列).Value <> "" Then
'各月の数量がゼロのときは空欄にする
If .Cells(Lng_元行, Lng_元列).Value = 0 Then
Var_データ = ""
Else
Var_データ = .Cells(Lng_元行, Lng_元列).Value
Lng_合計 = Lng_合計 + Var_データ
End If
Cells(Lng_先行, Lng_先列).Value = Var_データ
Lng_先列 = Lng_先列 + 1
End If
Next
'計
Cells(Lng_先行, 5) = Lng_合計
'次の行へ
Lng_先行 = Lng_先行 + 1
'↑↑↑↑↑データ処理↑↑↑↑↑
'↓↓↓↓↓最終行処理↓↓↓↓↓
'累計処理(途中行)
If .Cells(Lng_元行, 1).Value <> .Cells(Lng_元行 + 1, 1).Value Then
Lng_累計行 = Lng_仮想頁 * 29
If Lng_個人頁 = 1 Then
For Lng_先列 = 5 To Cells(7, Columns.Count).End(xlToLeft).Column
Cells(Lng_累計行, Lng_先列).Value = Cells(Lng_累計行 - 1, Lng_先列).Value
Next
Else
For Lng_先列 = 5 To Cells(7, Columns.Count).End(xlToLeft).Column
Cells(Lng_累計行, Lng_先列).Value = Cells(Lng_累計行 - 1, Lng_先列).Value + Cells(Lng_累計行 - 29, Lng_先列).Value
Next
End If
End If
'ページ切替処理
If Lng_先行 Mod 29 = 28 Then
'累計処理(最終行)
Lng_累計行 = Lng_仮想頁 * 29
If Lng_個人頁 = 1 Then
For Lng_先列 = 5 To Cells(7, Columns.Count).End(xlToLeft).Column
Cells(Lng_累計行, Lng_先列).Value = Cells(Lng_累計行 - 1, Lng_先列).Value
Next
Else
For Lng_先列 = 5 To Cells(7, Columns.Count).End(xlToLeft).Column
Cells(Lng_累計行, Lng_先列).Value = Cells(Lng_累計行 - 1, Lng_先列).Value + Cells(Lng_累計行 - 29, Lng_先列).Value
Next
End If
Lng_個人頁 = Lng_個人頁 + 1
Lng_仮想頁 = Lng_仮想頁 + 1
Lng_先行 = Lng_先行 + 2
Boo_タイトル = True
End If
'次の行へ
Lng_元行 = Lng_元行 + 1
'↑↑↑↑↑最終行処理↑↑↑↑↑
Loop
End With
Cells(1, 1).Select
MsgBox "終了"
--------------------------------------------------------------------------------
No.16
- 回答日時:
※この回答は、“締め切られた質問への回答追加”として、2018/01/12 15:12に回答者の方よりご依頼をいただき、教えて!gooによって代理投稿されたものです。
---
No.12 へのお礼について
6月、10月、2月に処理を行ったら「InputBox」にそれぞれの初期値がセットされます。
なお、締め切った後に質問されても簡単には回答できませんので、次回は新たな質問としてあげていただけますか?
GooUserラック様
以前、親身になって対応して頂き有難うございました。
ラック様に教えて頂きましたVBAプログラムですが、
いろいろ各担当の要望等があり変更を少し加えて使用しています。
少しだけいまだに理解できない部分がありご連絡させていただきました。
For Lng_先列 = 5 To Cells(7, Columns.Count).End(xlToLeft).Column
Cells(Lng_累計行, Lng_先列).Value = Cells(Lng_累計行 - 1, Lng_先列).Value
Next
Else
For Lng_先列 = 5 To Cells(7, Columns.Count).End(xlToLeft).Column
Cells(Lng_累計行, Lng_先列).Value = Cells(Lng_累計行 - 1, Lng_先列).Value + Cells(Lng_累計行 - 29, Lng_先列).Value
上記コードの
Cells(Lng_累計行, Lng_先列).Value = Cells(Lng_累計行 - 1, Lng_先列).Value
と
Cells(Lng_累計行, Lng_先列).Value = Cells(Lng_累計行 - 1, Lng_先列).Value + Cells(Lng_累計行 - 29, Lng_先列).Value
いまだに解読できていません・・・・
さらに最終行付近に記述されている
Lng_個人頁 = Lng_個人頁 + 1
Lng_仮想頁 = Lng_仮想頁 + 1
Lng_先行 = Lng_先行 + 2
Boo_タイトル = True
上記の
Lng_先行 = Lng_先行 + 2
いろいろ数字を変えても変化がない??
教えて頂けないでしょうか?
宜しくお願いします。
No.15
- 回答日時:
文字数オーバーになりました。
こちらは前半部です。--------------------------------------------------------------------------------
Sub 元帳作成()
Dim Str_基本シート As String
Dim Str_メッセージ As String
Dim Str_規定値 As String
Dim Str_戻値 As String
Dim Boo_有効 As Boolean
Dim Lng_個人頁 As Long
Dim Lng_仮想頁 As Long
Dim Lng_仮想行 As Long
Dim Lng_累計行 As Long
Dim Lng_元行 As Long
Dim Lng_先行 As Long
Dim Day_月 As Date
Dim Lng_元列 As Long
Dim Lng_先列 As Long
Dim Boo_タイトル As Boolean
Dim Var_データ As Variant
Dim Lng_合計 As Long
Str_メッセージ = _
"処理番号を入力してください" & Chr(13) & Chr(13) & _
" 1 : 通常版で処理をする(6月)" & Chr(13) & _
" 2 : 12月版で処理をする(10月)" & Chr(13) & _
" 3 : 3月版で処理をする(2月)" & Chr(13) & Chr(13) & _
"※ 空欄または[キャンセル]ボタンで中止します"
Do
If Month(Date) = 2 Then Str_規定値 = "3"
If Month(Date) = 6 Then Str_規定値 = "1"
If Month(Date) = 10 Then Str_規定値 = "2"
Str_戻値 = InputBox(Prompt:=Str_メッセージ, Default:=Str_規定値)
If Str_戻値 = "" Then Exit Sub
If Str_戻値 = "1" Then Boo_有効 = True
If Str_戻値 = "2" Then Boo_有効 = True
If Str_戻値 = "3" Then Boo_有効 = True
Loop While Boo_有効 = False
With Sheets("作付調査Data")
'データの一次処理(空欄を「1」に変更)
For Lng_元行 = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
For Lng_元列 = 8 To 49
If .Cells(Lng_元行, Lng_元列).Value = "" Then
.Cells(Lng_元行, Lng_元列).Value = 0
End If
Next
Next
Sheets("元帳").Select
Cells.Delete Shift:=xlUp
'データの二次処理(使用しないセルを空欄に変更)
Sheets("作付調査Data").Select
Select Case Str_戻値
Case "1"
Range(Cells(2, 24), Cells(Rows.Count, 24)).ClearContents
Range(Cells(2, 26), Cells(Rows.Count, 26)).ClearContents
Range(Cells(2, 28), Cells(Rows.Count, 28)).ClearContents
Range(Cells(2, 36), Cells(Rows.Count, 36)).ClearContents
Range(Cells(2, 38), Cells(Rows.Count, 38)).ClearContents
Range(Cells(2, 40), Cells(Rows.Count, 40)).ClearContents
Str_基本シート = "元帳Template"
Case "2"
Range(Cells(2, 8), Cells(Rows.Count, 19)).ClearContents
Range(Cells(2, 36), Cells(Rows.Count, 36)).ClearContents
Range(Cells(2, 38), Cells(Rows.Count, 38)).ClearContents
Range(Cells(2, 40), Cells(Rows.Count, 40)).ClearContents
Str_基本シート = "元帳Template (12月)"
Case "3"
Range(Cells(2, 8), Cells(Rows.Count, 19)).ClearContents
Range(Cells(2, 24), Cells(Rows.Count, 24)).ClearContents
Range(Cells(2, 26), Cells(Rows.Count, 26)).ClearContents
Range(Cells(2, 28), Cells(Rows.Count, 28)).ClearContents
Str_基本シート = "元帳Template (3月)"
End Select
Sheets(Str_基本シート).Cells.Copy
Sheets("元帳").Select
Cells.Select
ActiveSheet.Paste
Application.CutCopyMode = False
Lng_元行 = 2
Do While Trim(.Cells(Lng_元行, 1).Value) <> ""
If .Cells(Lng_元行, 1).Value <> .Cells(Lng_元行 - 1, 1).Value Then
Lng_個人頁 = 1
If Boo_タイトル = False Then
Lng_仮想頁 = Lng_仮想頁 + 1
Boo_タイトル = True
End If
End If
--------------------------------------------------------------------------------
GooUserラック様
出来ました~~~(∩˃o˂∩)
ラック様の優しさに感謝いたします。
私の為に、ラック様の貴重なお時間をしかも長時間も割いていただき
誠にありがとうございました。
私は、VBAについて全くの素人でまったく知識が足りませんのでこれから猛勉強です
(´・ω・`;A) アセアセ
今後わからないことがありましたら是非ラック様のご指導を賜りたいと存じます。
本当にありがとうございました。
No.13
- 回答日時:
No.12 への補足コメントについて
印刷時の用紙設定が「.Copy」→「.Paste」でコピーできない為『元帳』シートの用紙設定だけはしておいてください。
あとは自動で「元帳template」などの書式がコピーされますので他の書式設定などは一切不要です。
No.12
- 回答日時:
今コードは作成中なのでもう少しお待ちください。
以下の処理もお願いします。※「元帳」シートの余白や用紙などの紙の設定だけは事前に行っておいてください。
(「元帳tamplate」をシートコピーした物を、セルを全て削除した方が早いかもしれません)
※「元帳tamplate」などの原紙になるシートは下図を参考に以下のようにしてください。
黄色の部分:文字を書式などを含めて残してください。
水色の部分:計算式を書式などを含めて残してください。
無色の部分:書式などを残してクリアしてください。
※ テストをすると、使わないデータ列をクリアしてしまうので「作付調査Data」シートをコピーしてどこかに保管しておいてください。
GooUserラック
おはようございます。
ちょこっとだけ気になった部分があるので質問ですが宜しいでしょうか?
【NO.11】
6月に処理を行ったら「元帳Template」使った処理を行います。
10月に処理を行ったら「元帳Template (12月)」使った処理を行います。
2月に処理を行ったら「元帳Template (3月)」使った処理を行います。
その他の月に処理を行ったら、選択できるようにします。(テストとしても使えます)
最後の行
その他の月に処理を行ったら、選択できるようにします。(テストとしても使えます)
とはどのような処理のことでしょうか?差支えなければ教えて頂けないでしょうか。
宜しくお願い致します。
No.11
- 回答日時:
6月に処理を行ったら「元帳Template」使った処理を行います。
10月に処理を行ったら「元帳Template (12月)」使った処理を行います。
2月に処理を行ったら「元帳Template (3月)」使った処理を行います。
その他の月に処理を行ったら、選択できるようにします。(テストとしても使えます)
なお事前に次の処理を行っておいてください。
まず「元帳tamplate」の3つのシートで次の処理を行ってください。
① 30行以降を削除してください。
② 8~27行と29行目をクリア(削除ではありません)してください。
③ 印刷プレビューで1~29行目が印刷範囲にピッタリおさまっているか?確認してください。(30行目以降が同じ印刷範囲に入っているとどんどんずれていきます)
次に「元帳」という空のシートを追加してください。
これが印刷用のシートになります。
1シート作成ごと印刷も考えましたが、処理中にプリンターのエラーなどが有ると再開が難しいのでやめました。
GooUserラック様
おはようございます。
遅くまでありがとうございます。
①~③および元帳シート作成いたしました。
次はどのようにしたらよろしいでしょうか。
ご指示お願いいたします。
No.10
- 回答日時:
No.8への補足コメントについて
③ 元々印刷シートの方は「0」を全て空欄に変更する仕様でしたよね?そこは変わりません。
④ ではこの処理をした月によって以下のように処理しても問題ないですよね?
処理月が6月~11月は通常版、処理月が12月~2月は12月版、処理月が3月~5月は3月版を使う事でよろしいですか?
No.9
- 回答日時:
これは提案ですが、生産者ごとのページ番号をどこかに書き込んだ方が良いと思うのですが…
例えば「元帳tamplate」は AA1~AO1 をセル結合「元帳(12月)」と「元帳(3月)」は AA1~AF1 をセル結合して、そこに「No.1001-1」のように書き込んだら良いかと(書式設定は右詰めでフォントの下線ありにされると良いかと)
なお結合するセルの一番左は同じセルにしてください。
No.8
- 回答日時:
取り出す月によって取り出すデータの位置が変わってしまうのですね?
それでループ処理をしないで1件ずつ処理していたわけなんですね?
以下確認願います。
① 1回目は作付dataの「12月-2」「12月-4」「12月-6」「3月-2」「3月-4」「3月-6」の欄には何も入っていないのでしょうか?それとも「0」が入っているのでしょうか?
② 取引が無い月の作付dataのデータには何も入っていないのでしょうか?それとも「0」が入っているのでしょうか?
③ 作付dataの印刷に使わないデータの欄を空欄、使うデータの欄は空欄が有ったら「0」に変更してしまっても良いですか?(こうする事によってプログラムを共通にすることが出来ます)
④ それぞれ作成する月は決まっていますか?(これが決まっていればどのパターンで元帳を作成するかを考えないで済むようになります)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) VBA 請求書自動作成 3 2022/04/24 01:58
- Visual Basic(VBA) vbaを早くしたい 5 2022/09/09 10:58
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Excel(エクセル) マクロ(データ取得と転記)について教えてください 3 2022/12/24 12:18
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
自治会の通常総会の年度について
-
「6月まで」というのは6月以内...
-
8月までっていつまでのことでし...
-
月の最後の週の呼び名は?
-
10月をもって辞めるって、10...
-
相撲の「夏場所」等の名称につ...
-
エクセルのフィルターを複数シ...
-
入社が2月1日とした場合、3ヶ月...
-
満何歳の意味
-
今は何年度ですか?
-
総会の年度表記について
-
昔の愛称?「~の字」
-
昔は何歳くらいからお酒を飲ん...
-
確認ですが普通5月までに決める...
-
思い出せなくて・・・
-
大学4年生から友達を作るのにい...
-
「なんで付き合おうと思ったか...
-
バイトを12月22日に辞めました...
-
「おじろく」は長男が死んだら...
-
神棚の移動について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
自治会の通常総会の年度について
-
総会の年度表記について
-
確認ですが普通5月までに決める...
-
カレンダーの日付 5/Bの意味に...
-
「6月まで」というのは6月以内...
-
10月をもって辞めるって、10...
-
8月までっていつまでのことでし...
-
満何歳の意味
-
月の最後の週の呼び名は?
-
エクセルのフィルターを複数シ...
-
今は何年度ですか?
-
昔の愛称?「~の字」
-
入社が2月1日とした場合、3ヶ月...
-
「1年以上」の定義について
-
○年後の3月末日を関数で出したい
-
学校の在籍機関
-
一ヶ月前、一ヶ月後
-
○月第○週 の数え方について
-
VBAで先月、先々月を求める方法
-
定年になる年度を関数で算出したい
おすすめ情報
以降2ページ=30行~59行を繰り返すイメージです。
30~58の間違いです。
大変遅くなり申し訳ございません。
データですが年3回の調査があり3回元帳シートを印刷しないといけません。上書き希望です。
1回目は添付データの元帳tamplate
2回目は添付データの元帳(12月)
3回目は添付データの元帳(3月)
1回目は7月~6月のデータを転記※12月は作付dataの12月-1が上旬 12月-3が中旬 12月-5が下旬
に転記となります。3月も同じです。
2回目は11月~6月のデータを転記※7~10月転記なし 3月は作付dataの3月-1が上旬 3月-3が中旬 3月-5が下旬に転記となります。
3回目は11月~6月のデータを転記※同上 12月は12-1が上旬・・・
http://www.taiyo-hana2.jp/wp-content/uploads/201 …
【元帳tamplate】【元帳tamplate(12月)】【元帳tamplate(3月)】
のシートが原紙として利用したいシートになります。
お忙しい中本当に親身になって相談に乗っていただき誠にありがとうございます。
宜しくお願い致します。
ご連絡ありがとうございます。
①の回答です 空白です。
②の回答です 空白です。
※基本、何も取引のない月は空白になります。
③の回答です 作付dataシートにあるデータは空白部分を0にしても問題ないのですが、元帳template
に転記、印刷する際、0表示のまま印刷されると厳しいです。空白にするのはそこに帳票を受け取った人が数字を手書きで書き込むためです。印刷する際にexcelのオプションでゼロ値のセルにゼロ値を表示するのチェックを外せば空白になりますか?
④元帳templateのパターンは3パターン(通常7~6月、12月用、3月用)のみで完全固定になります。
ありがとうございます。
T1、U1、V1 の3セルを全ての『template』で結合してNo.1001-1のように表示したいです。
宜しくお願いします。
④についてです。
実は1回目は6月に一斉に7~6月の一年分の調査を行い、それを作付調査dataとして入力して入力dataをtemplateに転記し帳票を印刷します。
2回目は10月に行うのですが、一回目に出力した帳票をもとにその内容に変更がないかの調査です。変更のある個所のみ作付調査dataを修正します。2回目の調査時に12月-2、4、6へ初めてデータがあれば入力します。変更がなければ一回目と全く同じdataになりますが、12月のみ3区切りから6区切りに変更します。そのdataを(元帳12月)として出力したいです。
3回目は2月に行います。2回目に出力した帳票をもとに調査します内容は一緒で12月の6区切りが3月に変更になるだけです。
全てのもとになる作付dataは3回の調査で変更がなければ12月と3月の表示形式が6区切りになり細かくなるだけです。
宜しくお願いします。
補足です。
誤解を招くのでこの文言はカットしてください。『が、12月のみ3区切りから6区切りに変更します。』 『で12月の6区切りが3月に変更になるだけです。』
2回目の調査時に印刷する際、修正した11月~6月のデータを(元帳12月)に転記し印刷できればOKです。
3回目の調査時に印刷する際、修正した11月~6月のデータを(元帳3月)に転記し印刷できればOKです。
宜しくお願いします。
GooUserラック様
ご連絡ありがとうございます。
質問しても宜しいでしょうか?
①『元帳』シートは1ページ分(1~29行)の設定でよろしいでしょうか?また『元帳template(列A~AO)』と『元帳(12・3月)A~AF』の列数の違いや列幅の違いがございますが、デフォルトとして『元帳template(列A~AO)』の書式に設定しておき12月印刷時は12月、3月印刷時は3月用templateを『元帳』シートに設定しておけばよろしいということでしょうか?
宜しくお願い致します。(*^_^*)